4


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

我知道 SSMS 在任务下具有自动生成脚本功能,但唯一的选项是创建、删除和创建以及删除。我似乎无法弄清楚如何启用更改。我已经搜索了许多 SO 文章,以及在 msdn 中进行了一些挖掘,但我一无所获。

我希望stackoverflow的优秀人员能够迎接挑战。提前致谢

4

4 回答 4

5

使用高级脚本选项中的CHECK FOR OBJECT EXISTENCE选项。对于要编写脚本的每个存储过程,脚本将包含一组IF NOT EXISTS... CREATE命令和下面的ALTER 。

于 2014-06-06T09:22:51.037 回答
3

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

于 2013-03-05T08:15:11.683 回答
1

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

如果您想将其从 Create 更改为 Alter,只需使用任何文本编辑器执行“全部替换”操作。希望这个答案对其他人有所帮助。

于 2013-10-01T13:11:30.023 回答
-2

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

于 2013-03-05T04:02:30.967 回答