我正在使用sql server management studio 2008尝试为我的每个存储过程生成一个更改脚本,以便为每个修订保存脚本。我可以轻松地为每个单独的过程生成一个更改脚本,但我不想手动完成一百个存储过程。
我知道 SSMS 在任务下具有自动生成脚本功能,但唯一的选项是创建、删除和创建以及删除。我似乎无法弄清楚如何启用更改。我已经搜索了许多 SO 文章,以及在 msdn 中进行了一些挖掘,但我一无所获。
我希望stackoverflow的优秀人员能够迎接挑战。提前致谢
我正在使用sql server management studio 2008尝试为我的每个存储过程生成一个更改脚本,以便为每个修订保存脚本。我可以轻松地为每个单独的过程生成一个更改脚本,但我不想手动完成一百个存储过程。
我知道 SSMS 在任务下具有自动生成脚本功能,但唯一的选项是创建、删除和创建以及删除。我似乎无法弄清楚如何启用更改。我已经搜索了许多 SO 文章,以及在 msdn 中进行了一些挖掘,但我一无所获。
我希望stackoverflow的优秀人员能够迎接挑战。提前致谢
使用高级脚本选项中的CHECK FOR OBJECT EXISTENCE选项。对于要编写脚本的每个存储过程,脚本将包含一组IF NOT EXISTS... CREATE命令和下面的ALTER 。
这不是一个非常优雅的解决方案,但它肯定会起作用。为什么不生成创建脚本,然后将所有出现的 CREATE PROCEDURE 替换为 ALTER PROCEDURE。
您可以从 SQL SERVER Management Studio 自动生成存储过程,如下所示: 1) 右键单击您的数据库 -> 任务 -> 生成脚本 2) 选择“特定数据库对象”,然后选择要为其生成脚本的表/存储过程然后按“下一步” 3)在此窗口中,您可以选择要保存脚本的位置,然后您会找到“高级”选项,单击它。然后你会发现一个选项“Script DROP and Create”,共有三个选项:Create、Drop、Drop 和 Create。根据需要选择一个。4)然后按确定,然后“下一步”,脚本将自动生成。
如果您想将其从 Create 更改为 Alter,只需使用任何文本编辑器执行“全部替换”操作。希望这个答案对其他人有所帮助。
那么,Drop/Create 与 alter 相同。通过声明您想使用 alter,您可以确定目标对象存在。为什么不从对象资源管理器中选择组并右键单击选择 DROP/Create。这应该做同样的事情。