我的存储过程有3个插入语句。我需要的是每次插入后我想通过查询Scope_Identity
知道ID的插入值。
如下所示:
insert into t1(name)values("david")
set @v1=Scope_Identity()
insert into t2(name)values("david2")
set @v2=Scope_Identity()
insert into t3(name)values("david3")
set @v4=Scope_Identity()
有没有办法做到这一点?
答案 0 :(得分:3)
CREATE TABLE t1 (id int identity, name varchar(30))
CREATE TABLE t2 (id int identity, name varchar(30))
DECLARE @v1 int, @v2 int
INSERT t1 (name) VALUES ('david')
SET @v1 = Scope_Identity()
INSERT t2 (name) VALUES ('david2')
SET @v2 = Scope_Identity()
SELECT @v1, @v2
点击here以查看SQL Fiddle的操作。
答案 1 :(得分:1)
试试这个 -
DECLARE @temp TABLE
(
id INT IDENTITY(1,1) PRIMARY KEY
, name VARCHAR(20)
)
INSERT INTO @temp (name)
OUTPUT INSERTED.id
VALUES ('test1'), ('test2')