我在sql server数据库中有一堆表(都有一个特定的前缀,例如ABC_table1),我想把带有这个前缀的所有表移动到另一个数据库。
有没有办法可以做到这一点?
我正在使用SQL Server 2k5。
由于
答案 0 :(得分:1)
弄清楚ABC模式的uid:
SELECT * from sys.schemas
然后在下面的脚本中用schema_id替换5(uid)并运行它:
SELECT
'SELECT * INTO OtherDB.ABC.' + name +
' FROM ABC.' + name
FROM
sysobjects
WHERE
xtype = 'U'
AND uid = 5
然后剪切并粘贴生成的结果并运行它。或者,创建一个游标并sp_execute每一行。
答案 1 :(得分:0)
不确定术语在2k5中有多少变化,但这是2k术语中的说明。只需创建新数据库并执行从旧数据库到新数据库的导出。在导出向导中,您希望传输对象和数据。选择“对象”时,选择所有以ABC_开头的表,这很容易,因为它们按字母顺序列出。然后出口。
除非你想定期做这件事(我不明白为什么),否则我认为这可能是一次性操作的最简单的解决方案。