SQL Server 2008:使用动态表中的数据填充表

时间:2014-01-29 00:11:25

标签: sql sql-server-2008 database-table

我有两个表Control1 (BatchID ,TableName)Control2(BatchID, MemID),还有一些表将逐个添加到数据库中。表名的格式为ABC_date,例如ABC_01032014(动态)

现在这个表ABC_Date有一个名为MemID的caolumn。

control1control2为空表,abc_date填充为{} {}}。

所以,我想填充10 MemIdscontrol1control2将拥有唯一的ID和 Control1完成

tableName = ABC_datecontrol2的{​​{1}}和BatchID的所有control1相同。请帮助10 memIds

现在它应该来自ABC_Date的所有control2和来自10 memIDs的{​​{1}}相同的ABC_Date

谢谢

1 个答案:

答案 0 :(得分:-1)

我不确定你是想在控件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

希望有所帮助