Quando escrevi alguns comentários antes do CREATE PROCEDURE
comando, esses comentários parecem ser preservados como parte da definição do procedimento.
Por exemplo, quando eu crio um procedimento como este
/*Comment header*/
CREATE OR ALTER PROCEDURE example_procedure
AS
SELECT 1 AS Id
O /*Comment header*/
é armazenado como parte da definição.
Esse é um comportamento documentado, posso sempre contar com isso? Ou é apenas uma peculiaridade não confiável do SQL Server?
Meu entendimento ingênuo é que a definição do procedimento começa com CREATE
palavra-chave, então hesito em confiar em comportamento que vai contra minha intuição.
Sim, desde que esteja no mesmo lote. Isso é intuitivo no sentido de que a
CREATE PROCEDURE
declaração é o lote inteiro (não pode haver nenhuma outra declaração), então tudo naquele lote é incluído como parte do procedimento.Não sei se isso está documentado em algum lugar, mas sempre funcionou assim e seria uma grande mudança no controle de versão do código-fonte de todos se fosse diferente, então é muito improvável que a MS modifique esse comportamento.
Visualizações, gatilhos e
CREATE
instruções de função têm o mesmo efeito.