ALTER TRIGGER – Lệnh sửa Trigger

Mô tả

  • Lệnh ALTER TRIGGER dùng để sửa Trigger (DDL Trigger và DML Trigger) trong CSDL.

Cú pháp

DDL Trigger

  • DDL Trigger mức Database
ALTER TRIGGER Tên_Trigger
ON DATABASE
FOR Các_biến_cố
AS
	DECLARE Biến_cục_bộ
	Các_lệnh
GO
  • DDL Trigger mức Server
ALTER TRIGGER Tên_Trigger
ON ALL SERVER
FOR Các_biến_cố
AS
	DECLARE Biến_cục_bộ
	Các_lệnh
GO

DML Trigger

  • AFTER (FOR) Trigger
ALTER TRIGGER Tên_Trigger
ON Tên_bảng
	AFTER | FOR
	INSERT | UPDATE | DELETE
AS
	Các_lệnh
GO
  • INSTEAD OF Trigger
ALTER TRIGGER Tên_Trigger
ON Tên_bảng_ảo | Tên_bảng
	INSTEAD OF
	INSERT | UPDATE | DELETE
AS
	Các_lệnh
GO

Ví dụ

  • Ví dụ: sửa DML Trigger – INSTEAD OF Trigger (3 trường hợp còn lại thực hiện tương tự)
USE QLBanHang
GO
ALTER TRIGGER tg_myview_D1
ON myview
INSTEAD OF DELETE
AS
	SET NOCOUNT ON
	IF EXISTS(SELECT 1 FROM deleted WHERE SoDh IN (SELECT SoDh FROM CTDONDH))
	BEGIN
		RAISERROR(N'Không xóa vì đã có đặt hàng!', 16, 1)
		RETURN
	END
	DELETE DONDH WHERE Sodh IN (SELECT SoDH FROM deleted)
GO

Xem thêm: lệnh tạo Trigger CREATE TRIGGER, lệnh xóa Trigger DROP TRIGGER.

Leave a Reply

Your email address will not be published. Required fields are marked *