34
可能重复:
SQL Server Output Clause into a scalar variable如何将插入的输出值分配给sql server中的变量?
DECLARE @id int
INSERT INTO MyTable(name)
OUTPUT @id = Inserted.id
VALUES('XYZ')
我试图像上面。这怎么可能?
可能重复:
SQL Server Output Clause into a scalar variable如何将插入的输出值分配给sql server中的变量?
DECLARE @id int
INSERT INTO MyTable(name)
OUTPUT @id = Inserted.id
VALUES('XYZ')
我试图像上面。这怎么可能?
使用表变量获得ID
DECLARE @id int
DECLARE @table table (id int)
INSERT INTO MyTable(name)
OUTPUT inserted.id into @table
VALUES('XYZ')
SELECT @id = id from @table
感谢先生,是不是可以直接分配给int变量? –
不,你不能使用局部变量。如果使用上面的代码,则可以访问数据并将表中的值设置为变量 –
@RakeshHolkar - INSERT语法允许插入多条记录,因此OUTPUT语法必须能够处理多条记录。因此,即使您只插入一条记录,OUTPUT也会向您返回一组数据。即使该集合只有一个字段,但它是一个集合,而不是一个整数。 – MatBailie