繁体   English   中英

SQL Server 2008中:填充表与动态表数据

[英]SQL Server 2008: populate a table with data from dynamic table

我有两个表Control1 (BatchID ,TableName)Control2(BatchID, MemID)并且还有其他表将被一张一张地添加到数据库中。 表名的格式为ABC_date ,例如ABC_01032014 (动态)

现在,此表ABC_Date具有一个称为MemID

control1control2是空表和abc_date填充了比方说10 MemIds

所以,我想填充control1control2 Control1将具有唯一的ID,并且tableName = ABC_date DONE

control2将具有相同的BatchIDcontrol1 ,所有10 memIdsABC_Date 请帮助control2

现在它应该具有来自ABC_Date所有10 memIDs ABC_Date和来自control1 1个相同的batchID

谢谢

我不确定您是否要在控件2中使用10行,还是只希望其中的一行用逗号分隔MemID,但我假设您要使用10个寄存器

您可以使用光标为您完成工作

Declare @BatchID
Declare @MemIdFetch

Set @BatchID = Select distinct BatchID from control1

--Declaration of the cursor
Declare CursorABC cursor for select MemID from ABC_date where BatchID = @BatchID

--Fetching the cursor
Fetch CursorABC into @MemIdFetch 

--Loop for the cursor 
WHILE(@@FETCH_STATUS = 0)
BEGIN
insert into control2 select @BatchID,@MemIdFetch

Fetch CursorABC into @MemIdFetch
END

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM