将所有数据从一个数据库插入到另一个数据库循环通过每个表

时间:2017-02-06 13:52:42

标签: sql database dynamic insert

我正在寻找一个脚本,将所有表中的数据插入到具有完全相同模式的另一个数据库中。表已经创建,DatabaseA为空,databaseB包含所有数据。

生成脚本方法有效但插入每条记录的时间太长。 我需要一个代码,它将迭代每个表,构造一个动态插入到(列!,columnB等),并插入标识。

最终结果将意味着两个数据库中的数据完全同步。如下所示

declare @Table varchar(50)= 'Years'


SELECT 'INSERT INTO ' + @Table +
STUFF ((
    SELECT ', [' + name + ']'
    FROM syscolumns
    WHERE id = OBJECT_ID('Years') AND
        name <> 'me'
    FOR XML PATH('')), 1, 1, '') 


SELECT 'SELECT ' +
STUFF ((
    SELECT ', [' + name + ']'
    FROM syscolumns
    WHERE id = OBJECT_ID('Years') AND
        name <> 'me'
    FOR XML PATH('')), 1, 1, '') +
' FROM '+ @Table

0 个答案:

没有答案