我正在合并多个有大量依赖关系的数据库。我看到的唯一(快速)解决方案是将db标识符预先添加到主键。例如:
1, 2, 3 >>> 7771, 7772, 7773
无法修改pks。这就是为什么标准解决方案(ssms“tasks>generate scripts..)没有帮助。
我编写了一个脚本来模拟标准的导出过程。主要问题是:我的脚本无法识别列的类型并对值应用正确的格式。
在这里:
select
name as [table], substring(column_names, 1, len(column_names)-1) as [columns],
concat('SELECT ', substring(column_names, 1, len(column_names)-1) ,', concat(''INSERT INTO ',name,' (',substring(column_names, 1, len(column_names)-1),') VALUES '',', replace(substring(column_names, 1, len(column_names)-1),',',', '','' , '),') as [sql] FROM ',
name) as [sql]
from sys.tables as tab
cross apply (
select col.[name]+', '
from sys.columns as col
where tab.object_id = col.object_id
for xml path ('')) D (column_names)
order by name
如果你能帮忙,我会非常感激的!
暂无答案!
目前还没有任何答案,快来回答吧!