UPDATE() (Transact-SQL), Microsoft Docs

Повертає логічне значення, що вказує на спробу застосувати функцію INSERT або UPDATE до вказаного стовпця таблиці або подання. UPDATE() використовується будь-де всередині тіла тригера INSERT або UPDATE для Transact-SQL, щоб перевірити необхідність виконання певних дій.

Синтаксичні позначення Transact-SQL

  • column Це ім'я стовпця для перевірки INSERT або UPDATE. Так як ім'я стовпця вказано у реченні тригера ON, не ставте ім'я таблиці перед ім'ям стовпця. Стовпець може містити будь-який тип даних, що підтримується SQL Server. Однак стовпці, що обчислюються, не можуть використовуватися в даному контексті.

Типи даних, що повертаються

Функція UPDATE() повертає TRUE незалежно від того, чи була спроба застосувати оператори INSERT чи UPDATE успішною.

Щоб перевірити дію операторів INSERT або UPDATE для кількох стовпців, вкажіть окремо пропозицію UPDATE(column), яка йде за першою пропозицією. Декілька стовпців також можуть бути перевірені на дію INSERT або UPDATE за допомогою COLUMNS_UPDATED. В результаті повертається бітовий шаблон, який вказує на те, які стовпці були вставлені чи оновлені.

IF UPDATE повертає значення TRUE за діями оператора INSERT, оскільки стовпці містять або явні вставлені значення, або неявні вставлені значення (NULL).

Примітка

Функції речення IF UPDATE(column) аналогічні реченням IF, IF. ELSE або WHILE можуть використовувати блок BEGIN. END. Щоб отримати додаткові відомості, див. Мова керування потоком (Transact-SQL).

UPDATE(column) може застосовуватись у будь-якій частині тіла тригера Transact-SQL.

Примітка

У SQL Server 2000 функція UPDATE() не виявляє змін для стовпців типу timestamp. Для таких стовпців пропозиція IF UPDATE() усередині тіла тригера повертає значення FALSE незалежно від того, чи оновилися стовпці. У SQL Server 2008 та SQL Server 2005 функція UPDATE() визначає зміни в стовпцях типу timestamp. Пропозиція IF UPDATE() всередині тіла тригера DML повертає значення TRUE, якщо ці шпальти оновилися.

Наступний приклад створює тригер, який видає повідомлення клієнту під час спроби оновити стовпець StateProvinceID чи PostalCode у таблиці Address.