请帮助我编辑以下SQL Server存储过程以使用http://social.yahooapis.com/progrss/v1/users.guid(E7HLX6HSEMQRFGE3HL3ANLH4HM)/profile?format=json&.imgssl=1
语句获取最后插入行的ID
,以便检索它抛出C#代码,如
OUTPUT
存储过程代码:
int ID = Convert.ToInt32(insertUser.ExecuteScalar());
答案 0 :(得分:1)
你应该添加一个' Transact-SQL'标记到这篇文章。
答案是
select SCOPE_IDENTITY()
虽然为了完整性,我还应该提到你可以在insert语句中使用output子句,但只有在插入多行时才会有用。
答案 1 :(得分:0)
最后我做到了。如果有人想通过存储过程使用OUTPUT子句想要最后插入列的id,只需使用下面的代码。 SCOPE_IDENTITY()可能会导致多个用户并行插入时出错
AS
BEGIN
SET NOCOUNT ON;
DECLARE @IDs TABLE(ID INT);
INSERT INTO dbo.Registration_Table(StudentName,Email,CourseCode,CourseTitle)
OUTPUT inserted.ID INTO @IDs(ID)
VALUES (@StudentName, @Email, @CourseCode, @CourseTitle)
SELECT ID FROM @IDs;
END
GO