【发布时间】:2017-01-17 06:07:33
【问题描述】:
我不确定这是否可能?我正在寻找将插入/删除/更新表从触发器传递到存储过程的示例。
注意:我想将此触发器添加到数据库中的所有表中,并且我不想为每个单独的表重写/生成触发器。
这样,如果表发生变化,触发器也不需要更改。
例如像这样:
CREATE TRIGGER [schema].[myTable_myTrigger] ON [schema].[myTable]
AFTER INSERT,
INSERT,
DELETE
AS
BEGIN
SET NOCOUNT ON;
DECLARE @tableAfterChange TABLE
DECLARE @tableBeforeChange TABLE
-- If is insert
-- BEGIN
-- @tableAfterChange = inserted
-- END
-- ELSE if is delete
-- BEGIN
-- @tableAfterChange = deleted
-- END
--ELSE
--BEGIN
-- Else if is update
-- @tableAfterChange = updated
--END
EXEC dbo.myProcedure @tableBeforeChange, @tableBeforeChange
END
【问题讨论】:
标签: sql-server-2008 tsql triggers