SQL Server 2008 创建触发器,插入后返回ID并调用存储过程。

5

我只需要一个简单的SQL Server触发器(在插入后)来获取插入到表中的ID...算法如下:

  1. 向表中插入新记录

  2. 调用触发器

  3. 触发器从插入的记录中获取ID并调用存储过程

以下是我的失败尝试:

CREATE TRIGGER [dbo].[insertNewMarket] 
   ON  [dbo].[markets]
   AFTER insert
AS 
BEGIN
    declare @marketID int
    SET NOCOUNT ON;
    --SELECT ID from inserted
    --set @marketID = Inserted.ID--get the inserted id and pass to stored proc
    exec marketInsert @marketID 
END
GO

从插入的记录中选择 @marketID = ID。 - knkarthick24
1个回答

6

在触发器中,您可以通过名称为“INSERTED”的表访问新插入记录的详细信息。以下是一个小例子:

CREATE TRIGGER [dbo].[insertNewMarket]   
   ON  [dbo].[markets]  
   AFTER insert  
AS   
BEGIN  
    declare @marketID int  
    SET NOCOUNT ON;  
    SELECT @marketID = ID from inserted  
    exec marketInsert @marketID   
END  
GO  

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接