0

我是 Sql Server 的新手,但我一直经常使用 Oracle。我看到 Sql Server 不支持某些功能。可以说,我想观察一个表以进行插入,以及插入该表的内容,我想将插入的同一行复制到另一个表中。

这是我的代码

Create TRIGGER Post_Trigger ON Posts For Insert
AS
INSERT INTO EmailQueueRaw (UserID,CreatedBy,EmailTypeId,EmailTablePrimaryKey)    VALUES('','Arif','1','1');
GO

在 Oracle 中,我曾经使用过很棒的 New 和 Old 函数。但是我们在 Sql Server 中没有它,我不确定在这里做什么。请帮助我如何将相同的数据复制到另一个表?

4

1 回答 1

4

您将使用INSERTED(并且,如果需要DELETED),但您需要注意它们是伪表,并且可能包含 0、1 或多行:

Create TRIGGER Post_Trigger ON Posts For Insert
AS
INSERT INTO EmailQueueRaw (UserID,CreatedBy,EmailTypeId,EmailTablePrimaryKey)
SELECT '',ColumnA,'1',ColumnB FROM inserted;
GO
于 2013-04-10T08:19:21.643 回答