我有一个查询,该查询从2个联接表产生结果:
Bands
和Members
为简单起见:this is the output of the joined query:
BandId & memberId
是标识列
我想创建一个insert
语句查询,该查询将添加这些记录,但必须具有顺序+ Identity:
insert into bands(band,decade) values('beatles',60)
declare @newBandId int = SCOPE_IDENTITY()
insert into Members (member, age , relatedBandId)
values('john', 40,@newBandId ),
values('paul', 42,@newBandId ),
values('george', 43,@newBandId ),
values('ringo', 40,@newBandId )
insert into bands(band,decade) values('doors',70)
declare @newBandId int = SCOPE_IDENTITY() -- `decalre` again ? error?
insert into Members (member, age , relatedBandId)
values('jim', 50,@newBandId ),
values('john', 60,@newBandId ),
values('ray', 40,@newBandId ),
values('robbie', 20,@newBandId )
Band和Members是服务器1上的表。我需要在服务器2上生成数据(它也具有Bands和Members表,但数据不同)。 所以我想创建一个插入语句查询。
由于组织安全性限制,我无法运行跨数据库的查询,也无法导入。
因此,我必须创建一条插入语句查询-这将产生长的插入语句查询。 我在沿行连接字符串时没有问题,只是我需要为一个带运行insert(仅一次),然后获得标识,然后为成员运行3个inserts。
问题:
如何通过上述阶段从此联接查询中创建插入语句?