【发布时间】:2010-11-30 15:51:36
【问题描述】:
我正在尝试从存储过程返回最后插入行的标识。
我的代码的简化版本如下所示:
CREATE PROCEDURE [sp_name]
@AuthorisationCode uniqueidentifier
AS
INSERT INTO [tablename]
([AuthorisationCode]
)
VALUES
(@AuthorisationCode
)
RETURN @@IDENTITY
GO
我通过 Enterprise library 4.1 中的 Execute Scalar 调用这个存储过程。
它返回空值。任何人都知道我做错了什么。
【问题讨论】:
-
顺便说一句,最好不要用 sp_ 前缀命名 procs。但也许那是伪代码。
-
@Mark,谢谢你的好消息,但这只是伪代码:)
-
RETURNING 值通常保留用于错误处理(例如,0 以外的任何值表示存在错误)。
-
@brad 公平地说,它可以意味着任何东西
-
@Mark,是的,它可以表示你想要的任何东西;这就是为什么我说它“通常是保留的”。
标签: c# sql sql-server-2008 enterprise-library enterprise-library-4.1