我要将一些数据从一个数据库转储到另一个数据库。我在用
set identity_insert MyTable on
GO
INSERT INTO MyTable SELECT * FROM sourceDB.dbo.MyTable
GO
set identity_insert MyTable off
无论如何都要让它发挥作用吗?有 30 个表,将列名列表添加到插入语句将非常耗时。我正在使用SQL Server 2000。不久的将来将升级到SQL Server 2008。
编辑:
MyTable 有一个标识列。
只需从对象浏览器中拖放列名称即可。你可以一步完成,它比编写 select * 多花费大约 1 秒,而且无论如何你都不应该在生产代码中使用 select * 。这是一个糟糕的做法。
不过,我担心您插入标识列,这是几乎不应该做的事情。如果原始表的一些标识列与新表中的现有 id 相同怎么办?在决定从另一个表插入 id 值之前,请务必检查这一点。我更喜欢对父表进行插入,获取一个新的 id 并将其与旧的 id 相匹配(2008 年的输出对此很有利),然后对任何子表使用新的 id,但加入旧的 id。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)