我插入一个包含5行的表格,在插入每一行后,我必须使用id并需要插入到其他表格中。
TABLE NAME: A
TABLE NAME: B
在TABLE A
coloumns中:首先id
将获得genarate,此ID将用于其他一些表格。
id id1 id2 id3 id4 id5
一段时间后,表B将插入5行。
表B:
id
1
2
3
4
5
现在我必须用
更新表格coloumnsid1 = 1, id2 = 2, id3 = 3, id4 = 4, id5 = 5
我正在尝试范围标识,它只向我提供最后一行ID。
有人可以提出实现这个目标的方法吗?
select top 5 id
from table B
order by 1 desc
对我不起作用。
insert into table B values(id1)
insert into table B values(id2)
insert into table B values(id3)
insert into table B values(id4)
insert into table B values(id5)
完成所有这些插入后,我需要更新Table A
update Table A
set id1fromA = id1,
id1fromA = id2,
id1fromA = id3,
id1fromA = id4,
id1fromA = id5
任何人都可以建议实现这一目标的方法。
答案 0 :(得分:0)
尝试以下方法:
DECLARE @id1 INT ,
@id2 INT ,
@id3 INT ,
@id4 INT ,
@id5 INT
INSERT INTO TABLEB
VALUES ( id1 )
SET @id1 = SCOPE_IDENTITY()
INSERT INTO TABLEB
VALUES ( id2 )
SET @id2 = SCOPE_IDENTITY()
INSERT INTO TABLEB
VALUES ( id3 )
SET @id3 = SCOPE_IDENTITY()
INSERT INTO TABLEB
VALUES ( id4 )
SET @id4 = SCOPE_IDENTITY()
INSERT INTO TABLEB
VALUES ( id5 )
SET @id5 = SCOPE_IDENTITY()
UPDATE TableA
SET id1fromA = @id1 ,
id2fromA = @id2 ,
id3fromA = @id3 ,
id4fromA = @id4 ,
id5fromA = @id5