我想在创建对象后立即获取对象的id列的值。但我不想为此运行另一个查询。我的初学者书(SQL Server 2008 for Dummies)说,有2个表(插入和删除),其中包含已插入,更新或删除的最后一行。我怎样才能(两者)创建一行并在同一个“存储过程”中访问该行?
不幸的是,只有触发器(说这本书)可以访问这些表。但是,如果我使用触发器,每当我“插入”时,即使我不需要它们的功能,它们也会关闭。
我能获得与存储过程相同的效果(而无需运行一个单独的查询?)
这就是我想要做的
CREATE PROCEDURE myProcedure
DECLARE @OrganizationName
@ColumnID OUTPUT
AS
INSERT INTO Organization (OrganizationName)
VALUES (@OrganizationName)
SET @ColumnID = (// Please, I need Help here ...)
感谢您的帮助
你可以在'UPDATE/INSERT/DELETE'命令中使用'INSERTED'和'DELETED'(不是在触发器中),请参阅我的回答以了解如何使用'OUTPUT'子句。 – 2010-04-22 11:31:41