我需要能够将数据库与主数据库或模板数据库进行比较。如果要比较的数据库中不存在某些列,则脚本应将这些列添加到缺少该表的表中。
我不确定从哪里开始,但是我知道:
USE [database_that_needs_to_be_compared]
SELECT
TABLE_NAME,COLUMN_NAME
,DATA_TYPE
,CHARACTER_MAXIMUM_LENGTH
,IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
ORDER BY TABLE_NAME ASC
这将为我提供我认为需要从数据库中更新和检查的所有信息。我的想法是我可以进行某种形式的加入,但又不能确定从哪里开始。
答案 0 :(得分:0)
您可以将LEFT JOIN
到master_template_database
的{{1}}
database_that_needs_to_be_compared
添加您在SELECT *
FROM [master_template_database].INFORMATION_SCHEMA.COLUMNS m
LEFT JOIN [database_that_needs_to_be_compared].INFORMATION_SCHEMA.COLUMNS c
ON m.TABLE_NAME = c.TABLE_NAME
AND m.COLUMN_NAME = c.COLUMN_NAME
子句中所需的条件
如果可能有列添加到WHERE
中但没有添加到database_that_needs_to_be_compared
中,那么您将需要使用master_template_database
来标识