ALTER 数据库中的所有存储过程(添加注释标题模板)

g2s*_*ver 1 t-sql sql-server stored-procedures sql-server-2008-r2 sql-server-2012

我想将以下模板添加到所有存储过程的开头作为文档策略的一部分,例如:

---------------------------------------------------
--- PURPOSE:
---
--- UPDATED BY --- UPDATED DATE --- DESCRIPTION----
---
---------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

是否可以以某种方式执行此操作,例如,遍历数据库中的所有存储过程并更改它们?

Tan*_*ner 6

您可以通过编写脚本并使用“查找和替换”通过几个步骤来完成:

  1. 在 Management Studio 中右键单击数据库名称并导航到任务 > 生成脚本
  2. 在“选择对象”页面上,筛选您正在编写脚本到存储过程的项目
  3. 在“设置脚本选项”页面上,选择“保存到新查询窗口”
  4. 完成这些步骤并单击完成

这会将您所有的存储过程脚本化到查询窗口。

然后使用查找和替换来更新脚本程序。由于我们计划ALTER存储过程,我们需要用ALTER替换CREATE并在ALTER之前添加您的注释块:

  1. 设置Find what text to CREATE 过程
  2. Replace with text设置为您的注释块 + ALTER 过程,注意换行符\n,这是必需的,因为替换字段不是多行。

-------------------------------------------------- -\n--- 目的:\n---\n--- 更新时间 --- 更新日期 --- 描述----\n---\n--------- -----------------------------------------\nALTER 过程

Find Options 中,勾选Use并选择Regular Expression以启用换行符的替换。

单击Replace All,检查脚本,然后执行以将它们全部更改。

警告:我已在 SSMS 2012 中完成此操作。通过快速搜索,我相信 2008 年的脚本选项类似,但某些突出显示的术语可能略有不同。