[英]How can I provide parameter values to a Stored Proc called by a Stored Proc (SQL Server)?
[英]SQL Server: Can I set a trigger on ALTERing a stored proc?
每次更改或創建存儲的proc時,我都想在觸發器中捕獲它,然后再做一些事情。
我可以在SQL Server 2008中這樣做嗎?
謝謝。 --Beemer
CREATE TRIGGER tddl_storedprocevents ON DATABASE FOR CREATE_PROCEDURE,ALTER_PROCEDURE,DROP_PROCEDURE AS INSERT INTO AUDIT_TABLE(EventType, SQLCommand, etc) SELECT EVENTDATA().value('(/EVENT_INSTANCE/EventType)[1]', 'nvarchar(512)') , EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'nvarchar(max)') , etc /* EVENTDATA() SELECT EVENTDATA().value('(/EVENT_INSTANCE/EventType)[1]', 'nvarchar(512)') , EVENTDATA().value('(/EVENT_INSTANCE/PostTime)[1]', 'datetime') , EVENTDATA().value('(/EVENT_INSTANCE/SPID)[1]', 'nvarchar(4)') , EVENTDATA().value('(/EVENT_INSTANCE/ServerName)[1]', 'nvarchar(512)') , EVENTDATA().value('(/EVENT_INSTANCE/LoginName)[1]', 'nvarchar(512)') , EVENTDATA().value('(/EVENT_INSTANCE/LoginType)[1]', 'nvarchar(512)') , EVENTDATA().value('(/EVENT_INSTANCE/SID)[1]', 'nvarchar(512)') , EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'nvarchar(512)') , EVENTDATA().value('(/EVENT_INSTANCE/IsPooled)[1]', 'nvarchar(1)') etc */ DROP TRIGGER tddl_storedprocevents ON DATABASE
我建議您閱讀有關EVENTDATA()返回的xml對象的文檔,如果您現在還沒有這樣做的話。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.