UPDATE - Tetikleyici Fonksiyonlar (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Belirli bir tablo veya görünüm sütununda bir INSERT veya UPDATE denemenin yapılıp yapılmadığını gösteren bir Boolean değeri döndürür. UPDATE() bir Transact-SQL INSERT veya UPDATE tetikleyicinin gövdesinin herhangi bir yerinde tetikleyicinin belirli eylemleri yapıp yapmaması gerektiğini test etmek için kullanılır.

Transact-SQL söz dizimi kuralları

Sözdizimi

UPDATE ( column )   

Arguments

sütun
Bir INSERT veya UPDATE eylem için test edilecek sütunun adı. Tablo adı, tetikleyicinin ON maddesinde belirtildiği için, tablo adını sütun adından önce eklemeyin. Sütun, SQL Server tarafından desteklenen herhangi bir veri türünden olabilir. Ancak, hesaplanan sütunlar bu bağlamda kullanılamaz.

Dönüş Türleri

Boolean

Açıklamalar

UPDATE() bir INSERT veya UPDATE denemenin başarılı olup olmamasından bağımsız olarak TRUE döner.

Birden fazla sütun için bir INSERT veya UPDATE eylemini test etmek için, ilk sütundan sonra ayrı UPDATEbir (sütun) cümlesi belirtin. Birden fazla sütun INSERT da COLUMNS_UPDATED kullanılarak test edilebilir veya UPDATE eylemler yapılabilir. Bu, hangi sütunların eklendiğini veya güncellendiğini gösteren bir bit deseni döndürür.

IF UPDATE , sütunlara ya açık değerler ya da örtük (NULL) değerler eklendiği için eylemlerde INSERT GERÇEK değeri döndürür.

Uyarı

IF UPDATE(sütun) cümlesi ise IF, IF... ELSE, ya da WHILE cümlesi ve BEGIN kullanabilirsiniz... END blok. Daha fazla bilgi için Akışın Kontrolü Dili (Transact-SQL) bölümüne bakınız.

UPDATE(sütun) Transact-SQL tetikleyicinin gövdesinin herhangi bir yerinde kullanılabilir.

Bir tetikleyici bir sütuna uygulanırsa, UPDATED sütun değeri değişmese bile değer veya true1, olarak döner. Bu tasarım gereğidir ve tetikleyici, ekleme/güncelleştirme/silme işleminin izin verilip verilmediğini belirleyen iş mantığını uygulamalıdır.

Örnekler

Aşağıdaki örnek, biri tablodaki StateProvinceID or PostalCode sütunlarını güncellemeye Address çalıştığında istemciye mesaj yazdıran bir tetikleyici oluşturur.

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  

Ayrıca Bkz.

COLUMNS_UPDATED (Transact-SQL)
CREATE TRIGGER (Transact-SQL)