【发布时间】:2018-07-02 20:10:16
【问题描述】:
我正在尝试开发一个脚本来比较两个数据库以确定一个额外的表,然后删除这些表。这是我当前用于定位无关表的脚本:
-- Any location where TARGET appears, replace TARGET with the database to be
-- modified
-- Any location where MODEL appears, replace MODEL with the database being
-- used as a model for comparison
select 'TARGET' as dbname, t1.table_name
from TARGET.[INFORMATION_SCHEMA].[tables] as t1
where table_name not in (select t2.table_name
from
MODEL.[INFORMATION_SCHEMA].[tables] as t2
)
这给了我需要的结果,但现在我需要弄清楚如何删除表格。恐怕我在这一点上完全迷失了。不介意声明变量而不是重复输入 DBname 的方法,但不确定在这种情况下我可以。
【问题讨论】:
-
使用动态 SQL
-
你看过SSDT中的模式比较工具吗?工具 -> SQL Server -> 新模式比较。它会为你编写脚本。
标签: sql sql-server ssms sql-server-2016