Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Инструкция update и ограничения целостности

Инструкция update и ограничения целостностиОперация обновления строк таблицы налагает примерно те же правила и ограничения, что и инструкция INSERT. Все значения столбцов должны быть того же или совместимого типа данных с определением столбца, при этом не должны нарушаться ограничения целостности. В то же время существуют небольшие различия в режиме работы ограничений ссылочной целостности. К примеру, если ограничение определено с параметром ON UPDATE CASCADE или ON UPDATE SET NULL, СУБД успешно выполнит обновление целевой таблицы, при этом соответствующим образом изменив столбцы ссылочной таблицы. Подобно инструкции INSERT, инструкция UPDATE также имеет некоторые специфичные для конкретных реализаций особенности. Самые важные из них описаны в настоящем разделе. Основное отличие синтаксиса инструкции UPDATE Oracle от базового заключается в том, что в предложении SET можно перечислить множество столбцов и через знак равенства задать для них подзапросы (что будет продемонстрировано далее в примерах). Также можно использовать протоколирование ошибок DML, возвращать измененные значения и присваивать их переменным и многое другое. В СУБД Microsoft SQL Server в инструкции UPDATE содержится необязательное предложение FROM. В нем перечисляются таблицы, используемые в критерии операции обновления и выполняющие задачу, аналогичную описанным в предыдущем разделе коррелирующим подзапросам. Единственным отличием от приведенного в предыдущем разделе синтаксиса является то, что все строки таблицы ORDER_HEADER обновлялись без условий, в то время как синтаксис Microsoft SQL Server позволяет исключить столбцы с неопределенными значениями NULL, если не использовано внешнее объединение OUTER JOIN (объединения подробно описаны в главе 9).