我有一个 ID 列作为标识的列表。我需要有一个可以在函数调用时插入和返回新插入的标识的函数。我创建了一个函数,但我们不能在 SCALAR 函数中使用 INSERT。还有什么可以解决的
问问题
1036 次
1 回答
2
您可以使用 sql server 的默认函数Scope_Identity()
来获取新插入的标识字段。有关更多详细信息,请参阅链接
SCOPE_IDENTITY (Transact-SQL)
。
DECLARE @Identity INT
INSERT INTO TableName (Column1, Column2, )VALUES(@value1, @value2, ...)
SET @Identity=Scope_Identity()
您可以制作与存储过程相同的内容。前任
CREATE PROCEDURE USP_ProcedureName
(
@Input1 INT,
@Identity INT OUTPUT
)
AS
BEGIN
INSERT INTO TableName (Col1) VALUES (@Input1)
SET @Identity=Scope_Identity()
END
GO
EXEC
可以通过使用命令执行存储过程来检索输出参数。像
DECLARE @OutVar INT
EXEC USP_ProcedureName 1, @OutVar OUTPUT
SELECT @OutVar
于 2013-01-15T11:17:27.207 回答