Как автоматически добавить блоки комментариев к хранимым процедурам SQL Server? - PullRequest
3 голосов
/ 05 августа 2009

В моей организации стандартом является комментирование всех хранимых процедур с помощью блока комментариев, который выглядит следующим образом:

/*-- =============================================
-- 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 ]

2 голосов
/ 05 августа 2009

создайте шаблон в вашем редакторе

EDIT

Если вы хотите изменить текст процедуры, вы можете посмотреть на 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')
1 голос
/ 05 августа 2009

Если вы используете SQL Server 2005 ... Проверьте Template Explorer .... вы можете найти его в SQL Server Management Studio в разделе View ... затем Template Explorer

Оказавшись в Обозревателе шаблонов ... перейдите в раздел «Хранимая процедура» и посмотрите на там шаблоны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...