代码之家  ›  专栏  ›  技术社区  ›  Chris McCall

如何自动为SQL Server存储过程预留注释块?

  •  3
  • Chris McCall  · 技术社区  · 15 年前

    在我的组织中,标准是使用如下所示的注释块对所有存储过程进行注释:

    /*-- =============================================
    -- Created by: Chris McCall
    -- Created date: 08.05.2009
    -- Purpose: Inserts new setting value, code and description
    -- Modifications:
    -- <Date> <Programmer> <Change>
    -- =============================================*/
    

    由于存储过程的名称为 usp_utl_CustomSettingsInsert 无论如何,这些评论也不能保证是准确的。我通常忽略这些模块,除非我有问题,需要联系原始开发人员(谁早已离开,疯狂地咯咯叫,在直升机)。

    但是,这不取决于我,所以我必须这样做。是否有任何方法,通过触发器或其他一些SQL Server魔术,创建这些注释块,其功能仅限于 介意 ?

    2 回复  |  直到 15 年前
        1
  •  2
  •   KM.    15 年前

    在编辑器中创建模板

    编辑

    如果要更改过程的文本,可以查看syscomments:

    select text from syscomments where id=object_id('YourProcedureName') order by colid
    

    如果在过程的源代码中放入长的伪标记,如“<<:replace xyz:>>”,则可以使用:( 我永远不会这样做,也不建议任何人真的尝试这个!!!! )

    UPDATE syscomments
    set text=REPLACE(
                        REPLACE(text,'"<<:REPLACE NAME:>>','new name')
                        ,'"<<:REPLACE DATE:>>',GETDATE()
                    )
    where id=object_id('YourProcedureName')
    
        2
  •  1
  •   w4ik    15 年前

    如果您使用的是SQL Server 2005… 签出模板资源管理器…您可以在SQL Server Management Studio的“视图…”下找到它,然后在模板资源管理器下找到它。

    在模板资源管理器中…转到存储过程部分,查看其中的模板。