Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Trả về loại của trình kích hoạt DML trên bảng trong SQL Server

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 đó.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xóa tài khoản thư cơ sở dữ liệu (SSMS)

  2. Cách thêm tệp nhật ký vào cơ sở dữ liệu máy chủ SQL (T-SQL)

  3. Cách hàm RIGHT () hoạt động trong SQL Server (T-SQL)

  4. Php gọi tập lệnh cơ sở dữ liệu sao lưu sqlserver, tệp sao lưu được tạo và sau đó xóa

  5. Biểu diễn của DateTime tính bằng mili giây?