我有大量存储过程,我经常更新它们,然后转移到另一台服务器上的重复数据库。我一直在 SQL Server Management Studio 2008 中打开每个“storedproc.sql”文件,然后在工具栏中选择“执行”,这将创建或更改现有的存储过程。我一直在为每个存储过程这样做。
我正在寻找一个脚本(或其他方式),它允许我将数据库上的所有存储过程更改为一次位于文件夹中的存储过程。我基本上是在寻找一个脚本,它会执行类似于下面的伪代码的操作。
USE [DatabaseName]
UPDATE [StoredProcName]
USING [directory\file\path\fileName.sql]
UPDATE [StoredProcNameN]
USING [directory\file\path\fileNameN.sql
…
不是最干净的伪代码,但希望你能理解这个想法。我什至愿意删除所有存储过程(基于名称),然后在数据库上再次创建相同的存储过程。如果您需要更多清晰度,请随时发表评论,我提前感谢您。
进一步说明:
我正在更改 SSRS 转换项目的每个报告存储过程。开发报表后,我将报表和存储过程移至服务器。然后,我必须针对重复的数据库手动运行(ALTER 或 CREATE)每个存储过程,以便数据库现在能够支持服务器上的报告。到目前为止这还不算太麻烦,但我最终会有 65 到 85 个存储过程;如果我必须为每个字段添加一个数据集字段,那么我将不得不手动运行每个字段以更新重复的数据库。
我想要做的是有一个 SQL 脚本,上面写着:对于这个数据库,ALTER/CREATE 这个命名的存储过程,你可以在这个文件夹中找到包含详细信息的 .sql 文本文件。