Trong SQL Server, bạn có thể sử dụng thủ tục được lưu trữ sp_helptrigger để trả về kiểu hoặc các loại trình kích hoạt DML được xác định trên bảng được chỉ định cho cơ sở dữ liệu hiện tại.
Quy trình được lưu trữ này chỉ hoạt động trên trình kích hoạt DML (không phải trình kích hoạt DDL).
Cú pháp
Cú pháp chính thức như sau:
sp_helptrigger [ @tabname = ] 'table' [ , [ @triggertype = ] 'type' ]
Bạn phải cung cấp tên bảng làm đối số. Bạn có thể đặt tiền tố nó bằng @tabname =
, nhưng đây là tùy chọn.
Bạn cũng có tùy chọn chỉ định loại trình kích hoạt. Đây có thể là INSERT
, DELETE
hoặc UPDATE
.
Ví dụ 1 - Cách sử dụng cơ bản
Dưới đây là một ví dụ đơn giản để chứng minh.
EXEC sp_helptrigger 'dbo.t1';
Kết quả:
+-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+ | trigger_name | trigger_owner | isupdate | isdelete | isinsert | isafter | isinsteadof | trigger_schema | |-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------| | t1_insert_trigger | dbo | 0 | 0 | 1 | 1 | 0 | dbo | +-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+
Trong trường hợp bạn gặp sự cố khi cuộn sang ngang, đây là kết quả một lần nữa bằng cách sử dụng đầu ra dọc:
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
Ví dụ 2 - Chỉ định một loại
Trong ví dụ này, tôi cũng chỉ định loại.
EXEC sp_helptrigger 'dbo.t1', 'INSERT';
Kết quả (sử dụng đầu ra dọc):
trigger_name | t1_insert_trigger trigger_owner | dbo isupdate | 0 isdelete | 0 isinsert | 1 isafter | 1 isinsteadof | 0 trigger_schema | dbo
Trong trường hợp này, đã có một kích hoạt kiểu đó.
Ở đây, nó lại sử dụng một kiểu khác.
EXEC sp_helptrigger 'dbo.t1', 'DELETE';
Kết quả:
(0 rows affected)
Trong trường hợp này không có DELETE
kích hoạt trên bảng đó.