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.