Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Database SQL di Microsoft Fabric
Mengembalikan nilai Boolean yang menunjukkan apakah atau INSERTUPDATE upaya dilakukan pada kolom tabel atau tampilan tertentu. UPDATE() digunakan di mana saja di dalam badan Transact-SQL INSERT atau UPDATE pemicu untuk menguji apakah pemicu harus melakukan tindakan tertentu.
Sintaks
UPDATE ( column )
Argumen
column
Adalah nama kolom yang akan diuji tindakan atau UPDATE atau INSERT Karena nama tabel ditentukan dalam klausa ON pemicu, jangan sertakan nama tabel sebelum nama kolom. Kolom bisa dari jenis data apa pun yang didukung oleh SQL Server. Namun, kolom komputasi tidak dapat digunakan dalam konteks ini.
Jenis Kembalian
Boolean
Keterangan
UPDATE() mengembalikan TRUE terlepas dari apakah upaya atau INSERTUPDATE berhasil.
Untuk menguji INSERT tindakan atau UPDATE untuk lebih dari satu kolom, tentukan klausa (kolom) terpisah UPDATEsetelah yang pertama. Beberapa kolom juga dapat diuji atau INSERTUPDATE tindakan dengan menggunakan COLUMNS_UPDATED. Ini mengembalikan pola bit yang menunjukkan kolom mana yang disisipkan atau diperbarui.
IF UPDATE mengembalikan nilai TRUE dalam INSERT tindakan karena kolom memiliki nilai eksplisit atau nilai implisit (NULL) yang disisipkan.
Catatan
Klausa IF UPDATE(kolom) berfungsi sama dengan IF, IF... ELSE, atau WHILE dan dapat menggunakan klausul BEGIN... Blok END. Untuk informasi selengkapnya, lihat Bahasa Kontrol Aliran (Transact-SQL).
UPDATE(kolom) dapat digunakan di mana saja di dalam badan pemicu Transact-SQL.
Jika pemicu berlaku untuk kolom, UPDATED nilai akan kembali sebagai true atau 1, meskipun nilai kolom tetap tidak berubah. Ini secara desain, dan pemicu harus menerapkan logika bisnis yang menentukan apakah operasi sisipkan/perbarui/hapus diizinkan atau tidak.
Contoh
Contoh berikut membuat pemicu yang mencetak pesan ke klien saat siapa pun mencoba memperbarui StateProvinceID kolom PostalCode atau Address tabel.
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