使用SQL Server中的表的Create和Alter语句生成所有脚本?

时间:2016-05-10 19:07:42

标签: sql sql-server

我想在我的数据库中生成所有脚本。如您所知,单击“生成脚本”,它会使用CREATE语句输出所有表,所有存储过程等。

如何同时获取最近更改的表的ALTER语句和最近添加的表的CREATE语句?

例如,之前创建了A,B,C,D表。然后我添加一个新表作为E,我在C中更改了一个列名。当我单击“生成脚本”时,它必须输出:

IF NOT EXISTS ....
CREATE TABLE A
....

IF NOT EXISTS ....
CREATE TABLE B
....

IF NOT EXISTS ....
CREATE TABLE C
....

IF NOT EXISTS ....
CREATE TABLE D
....

IF NOT EXISTS ....
CREATE TABLE E
....

ALTER TABLE C
MODIFY COLUMN XX...
像这样。

Generate scripts

2 个答案:

答案 0 :(得分:0)

Generate Scripts只会为您提供数据库中各种对象的create语句。听起来你正在寻找一个源代码控制系统,它可以根据源代码控制中的变化生成CREATE / ALTER语句。

答案 1 :(得分:0)

使用 SSMS 将脚本生成到新查询窗口中,然后在该新查询窗口中的 SSMS 中使用 RegEx 搜索进行查找和替换。

因此,如果您的脚本包含函数,请单击 Ctrl+H 然后:

搜索项:(create.*function)

替换项:创建或更改功能

然后根据需要替换