我需要一个用户定义的函数来插入新记录并返回 Id,这可能吗?我该怎么做?
我尝试使用插入语句创建函数,但出现以下错误:
Invalid use of the side-affecting operator 'INSERT' within a function.
我正在使用 SQL Server 2008。
更新 SQL:
CREATE FUNCTION dbo.GetNewBookingReference()
RETURNS int
AS
BEGIN
INSERT INTO BookingReference
(CreatedTime, CreatedByUserId)
VALUES
(GETDATE()
,10)
RETURN @@IDENTITY
END
谢谢
最佳答案
在 SQL Server 中,用户定义的函数不能更改数据库状态。您必须使用带有 OUTPUT
参数的存储过程。
关于sql-server - 在 SQL UDF 中插入记录并返回 Id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1216315/