Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia
administrada de Azure SQLBase de datos SQL en Microsoft Fabric
Devuelve un valor booleano que indica si se ha hecho un INSERT intento de o UPDATE sobre una columna específica de una tabla o vista. UPDATE() se utiliza en cualquier parte del cuerpo de un Transact-SQL INSERT o UPDATE disparador para comprobar si el disparador debe ejecutar ciertas acciones.
Convenciones de sintaxis de Transact-SQL
Sintaxis
UPDATE ( column )
Argumentos
column
Es el nombre de la columna para probar la INSERT acción de o UPDATE . Debido a que el nombre de la tabla se especifica en la cláusula ON del desencadenador, no lo incluya antes del nombre de la columna. Esta columna puede ser de cualquier tipo de datos admitido por SQL Server. No obstante, no se pueden utilizar columnas calculadas en este contexto.
Tipos de valor devuelto
Boolean
Comentarios
UPDATE() devuelve VERDADERO independientemente de si un INSERT intento de or UPDATE tiene éxito.
Para probar una INSERT acción o UPDATE para más de una columna, especifica una cláusula separada UPDATE(columna) después de la primera. También se pueden probar múltiples columnas para INSERTUPDATE acciones usando COLUMNS_UPDATED. que devuelve un patrón de bits que indica las columnas que se insertaron o se actualizaron.
IF UPDATE devuelve el valor VERDADERO en INSERT acciones porque las columnas tienen valores explícitos o valores implícitos (NULL) insertados.
Nota
La cláusula IF UPDATE(columna) funciona igual que un SI, SI... ELSE, o WHILE y puedes usar la cláusula BEGIN... FIN de la cuadra. Para obtener más información, consulte Lenguaje de control de flujo (Transact-SQL).
UPDATE(columna) puede usarse en cualquier parte del cuerpo de un gatillo Transact-SQL.
Si un desencadenador se aplica a una columna, el valor UPDATED se devolverá como true o 1, incluso si el valor de columna permanece sin cambios. Esto es así por diseño y el desencadenador debe implementar la lógica de negocios que determina si la operación de inserción, actualización o eliminación está permitida o no.
Ejemplos
En el ejemplo siguiente se crea un desencadenador que imprime un mensaje para el cliente si alguien intenta actualizar las columnas StateProvinceID o PostalCode de la tabla Address.
USE AdventureWorks2022;
GO
IF EXISTS (SELECT name FROM sys.objects
WHERE name = 'reminder' AND type = 'TR')
DROP TRIGGER Person.reminder;
GO
CREATE TRIGGER reminder
ON Person.Address
AFTER UPDATE
AS
IF ( UPDATE (StateProvinceID) OR UPDATE (PostalCode) )
BEGIN
RAISERROR (50009, 16, 10)
END;
GO
-- Test the trigger.
UPDATE Person.Address
SET PostalCode = 99999
WHERE PostalCode = '12345';
GO
Vea también
COLUMNS_UPDATED (Transact-SQL)
CREATE TRIGGER (Transact-SQL)