update() (Transact-sql)
INSERT veya update belirtilen sütun bir tablo ya da görünüm üzerinde çalışıldı olup olmadığını gösteren bir Boole değeri döndürür. update() kullanılan her yerde gövdesi içinde bir Transact-SQLtetikleyici belirli eylemleri yürütmek olup olmadığını sınamak için INSERT veya update tetikleyicisi.
Transact-SQL Sözdizim Kuralları
Sözdizimi
UPDATE ( column )
Bağımsız değişkenler
- column
Bir INSERT veya update eylemi sınamak için sütun addır. Çünkü tetikleyici on yan tümcesinde belirtilen tablo adı, sütun adından önce tablo adını dahil etmeyin. Sütun olabilir veri türü tarafından desteklenen SQL Server. Ancak, hesaplanan sütunlar bu bağlamda kullanılamaz.
Dönüş Türleri
Boolean
Açıklamalar
update(), INSERT veya update girişimi başarılı olup ne olursa olsun doğru sonucunu verir.
INSERT veya update eylemi birden fazla sütun için sınamak için ayrı bir güncelleştirme belirtin (column) ilk aşağıdaki fıkra. Birden çok sütun, INSERT veya update eylemleri için columns_updated kullanarak de sınanabilir. Bu sütunları güncelleştirilen veya gösteren bir bit deseni döndürür.
Sütunları açık değerler ya da örtük (null) değerleri eklenen olduğundan If update INSERT eylemleri true değerini döndürür.
[!NOT]
If update (column) yan işlevleri If, aynı olursa...BAŞKA ya yan ve başla...end bloğu. Daha fazla bilgi için, bkz. Akış denetimi dil (Transact-sql).
Güncelleme (column) gövdesi içinde herhangi bir yerde kullanılabilir bir Transact-SQLtetikleyici.
Örnekler
Aşağıdaki örnek, herkes güncelleştirmeye çalıştığında istemciye bir ileti yazdırır bir tetikleyici oluşturur StateProvinceIDya PostalCodesütunları Addresstablosu.
USE AdventureWorks2012;
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
USE AdventureWorks2012;
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