在ASP.NET中加载页面时,我需要最后插入的行 GUID 。我尝试使用存储过程,但在插入时我得到如何在页面加载过程中使用该值,如下所示:
USE [emp]
GO
/****** Object: StoredProcedure [dbo].[procTestTableInsert] Script Date: 3/12/2014 5:55:33 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[procTestTableInsert]
(
@name varchar(50)
)
AS
DECLARE @id uniqueidentifier
SELECT @id = NEWID()-- Get a new unique identifier to insert
INSERT
testTable1(id,name)
VALUES
(@id,@name)
SELECT @id
exec procTestTableInsert sree
答案 0 :(得分:0)
根据此问题Best way to get identity of inserted row?,您应该可以查询IDENT_CURRENT
。
来自MSDN文档:
一个。返回为指定表生成的最后一个标识值 以下示例返回为AdventureWorks2012数据库中的Person.Address表生成的最后一个标识值。
USE AdventureWorks2012;
GO
SELECT IDENT_CURRENT ('Person.Address') AS Current_Identity;
GO
注意:这假定您的GUID是行ID。如果它不是行ID,这不会起作用。在这种情况下,我建议将最后一个ID存储在SQL中的临时表中(更新存储过程以保存guid)或者让应用程序对其进行缓存。