ALTER TRIGGER – Lệnh sửa Trigger

1. Mô tả

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

2. Cú pháp

2.1 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




2.2 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

3. 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.

You may also like...

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *