如何在SSMS中生成多个Alter脚本

时间:2013-03-05 03:22:11

标签: sql sql-server sql-server-2008


我使用 sql server management studio 2008 尝试为每个存储过程生成一个alter脚本,以便为每个修订保存脚本。我可以轻松地为每个单独的过程生成一个alter脚本,但我并没有尝试手动完成一百个存储过程。

我知道SSMS在任务下有自动生成脚本功能, 但唯一的选择是创建,删除和创建,以及删除。 我似乎无法弄清楚如何启用alter。我已经搜索了很多SO文章,以及在msdn中的一点点挖掘,我什么都没有想出来。

我希望stackoverflow的优秀人才能够应对挑战。 提前致谢

4 个答案:

答案 0 :(得分:3)

这不是一个非常优雅的解决方案,但肯定会有效。为什么不生成创建脚本,然后用ALTER PROCEDURE替换所有出现的CREATE PROCEDURE。

答案 1 :(得分:1)

您可以从SQL SERVER Management Studio自动生成存储过程,如下所示: 1)右键单击您的数据库 - >任务 - >生成脚本 2)选择"特定数据库对象"然后选择要为其生成脚本的表/存储过程,然后按"下一步" 3)在此窗口中,您可以选择要保存脚本的位置,然后您将找到一个选项"高级",单击它。然后你会找到一个选项" Script DROP和Create",有三个选项:Create,Drop,Drop和Create。根据需要选择一个。 4)然后按确定,然后"下一步"并且脚本将自动生成。

如果你想将它从Create改为Alter,只需做"替换所有"使用任何文本编辑器操作。 希望这个答案有助于其他人。

答案 2 :(得分:1)

在高级脚本选项中使用 检查对象存在 选项。 对于要编写脚本的每个存储过程,脚本将包含一组 IF NOT EXISTS ... CREATE 命令和 ALTER

答案 3 :(得分:-1)

嗯,Drop / Create与alter相同。通过声明您想要使用alter,您可以确定目标对象存在。为什么不从对象资源管理器中选择组,然后右键单击选择DROP / Create。这也应该这样做。