02/10/2018, 00:25

[SQLSERVER] Hướng dẫn truy vấn các câu lệnh Trigger trong database

Chào các bạn, bài viết hôm nay, mình sẽ tiếp tục chia sẽ các bạn đoạn source code truy vấn các câu lệnh Trigger dữ liệu trong database Sqlserver. Trong bài viết trước, mình đã có viết bài hướng dẫn sử dụng Trigger trong SQL . Trigger có ...

Chào các bạn, bài viết hôm nay, mình sẽ tiếp tục chia sẽ các bạn đoạn source code truy vấn các câu lệnh Trigger dữ liệu trong database Sqlserver.

Trong bài viết trước, mình đã có viết bài hướng dẫn sử dụng Trigger trong SQL.

Trigger có nhiều loại: 

Trigger on Insert

Trigger on Update

và Trigger on Delete.

Và nhược điểm của Trigger có thể làm cho hệ thống chậm, nếu chúng ta viết không chính xác. 

Công việc bây giờ, mình muốn kiểm tra xem trong database của mình có tất cả bao nhiêu câu Trigger

Các bạn có thể thực hiện câu lệnh truy vấn T-SQL dưới đây:

SELECT 
     sysobjects.name AS trigger_name 
    ,USER_NAME(sysobjects.uid) AS trigger_owner 
    ,s.name AS table_schema 
    ,OBJECT_NAME(parent_obj) AS table_name 
    ,OBJECTPROPERTY( id, 'ExecIsUpdateTrigger') AS isupdate 
    ,OBJECTPROPERTY( id, 'ExecIsDeleteTrigger') AS isdelete 
    ,OBJECTPROPERTY( id, 'ExecIsInsertTrigger') AS isinsert 
    ,OBJECTPROPERTY( id, 'ExecIsAfterTrigger') AS isafter 
    ,OBJECTPROPERTY( id, 'ExecIsInsteadOfTrigger') AS isinsteadof 
    ,OBJECTPROPERTY(id, 'ExecIsTriggerDisabled') AS [disabled] 
FROM sysobjects 

INNER JOIN sysusers 
    ON sysobjects.uid = sysusers.uid 

INNER JOIN sys.tables t 
    ON sysobjects.parent_obj = t.object_id 

INNER JOIN sys.schemas s 
    ON t.schema_id = s.schema_id 

WHERE sysobjects.type = 'TR' 

- Nhớ chọn database, mình cần xem trigger rồi chạy nhé.

=> Kết quả khi chạy câu lệnh trên

sử dụng trigger trong sqlserver

HAVE FUN :)

Tags: trigger
0