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

Cách trả về danh sách các sự kiện kích hoạt trong SQL Server

Bạn có thể sử dụng T-SQL để trả về danh sách các sự kiện kích hoạt trong cơ sở dữ liệu trong SQL Server.

Bạn có thể thực hiện việc này bằng cách sử dụng sys.trigger_events . Chế độ xem danh mục hệ thống này trả về một hàng cho mỗi sự kiện hoặc nhóm sự kiện mà trên đó trình kích hoạt có thể kích hoạt.

Ví dụ 1 - Cách sử dụng cơ bản

Đây là một ví dụ để chứng minh.

USE Test;
SELECT 
  object_id,
  OBJECT_NAME(object_id) AS [Trigger Name],
  type_desc
FROM sys.trigger_events;

Kết quả:

+-------------+-------------------+-------------+
| object_id   | Trigger Name      | type_desc   |
|-------------+-------------------+-------------|
| 286624064   | t1_insert_trigger | INSERT      |
| 2034106287  | t6ins             | INSERT      |
+-------------+-------------------+-------------+

Trong trường hợp này, tôi đang sử dụng OBJECT_NAME() hàm để lấy tên của từng trình kích hoạt từ object_id của nó .

Ví dụ 2 - Thu hẹp nó thành một Trình kích hoạt cụ thể

Bạn cũng có thể sử dụng OBJECT_NAME() để lọc kết quả thành một tên trình kích hoạt cụ thể bằng cách sử dụng WHERE mệnh đề.

SELECT 
  object_id,
  OBJECT_NAME(object_id) AS [Trigger Name],
  type_desc
FROM sys.trigger_events
WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';

Kết quả:

+-------------+-------------------+-------------+
| object_id   | Trigger Name      | type_desc   |
|-------------+-------------------+-------------|
| 286624064   | t1_insert_trigger | INSERT      |
+-------------+-------------------+-------------+

Ví dụ 3 - Trả lại Tất cả các Cột

Ví dụ này trả về tất cả các cột từ chế độ xem này.

SELECT * 
FROM sys.trigger_events
WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';

Kết quả (sử dụng đầu ra dọc):

object_id             | 286624064
type                  | 1
type_desc             | INSERT
is_first              | 0
is_last               | 0
event_group_type      | NULL
event_group_type_desc | NULL
is_trigger_event      | 1

Trong ví dụ này, tôi đã trình bày kết quả bằng cách sử dụng đầu ra theo chiều dọc để bạn không bị buộc phải cuộn theo chiều ngang.

Nhận tất cả các loại sự kiện trình kích hoạt

Bạn có thể truy vấn chế độ xem danh mục sys.trigger_event_types để nhận danh sách tất cả các loại sự kiện kích hoạt. Đây là các sự kiện hoặc nhóm sự kiện mà trình kích hoạt có thể kích hoạt.

Bạn cũng có thể chạy một truy vấn liệt kê chúng theo thứ bậc.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:Lọc đầu ra của sp_who2

  2. Cách tắt tất cả các trình kích hoạt trong cơ sở dữ liệu SQL Server

  3. Cách nhanh nhất để tìm các tính năng không dùng nữa vẫn được sử dụng trong phiên bản máy chủ SQL (Ví dụ T-SQL)

  4. Thời gian thu thập cảnh báo đám mây tiêu điểm

  5. Tìm hiểu Hệ điều hành SQL Server đang chạy (Ví dụ T-SQL)