2016-09-09 3 views
1

いくつかの基準を使用してT-SQLコードを生成するために私自身のコードジェネレータを使用しています。出力コードで、コードを生成するために使用された基準を示すが、その情報がサーバーに展開されないようにしたい。公開されないTSQLファイルにコメントを書き込むことはできますか?

CREATE PROC blabla 
AS 
BEGIN 

    /* 
    This code is the result of calling code generator X with the following criterias: 

    Variable1 = 'My first variable value' 
    Variable2 = 'My second variable value' 
    */ 

    (Actual T-SQL code) 

END 

は基本的に、私は特別な構文が非コンパイルテキストセグメントを区切るためにSSDTの内側に存在するかどうかを知りたい:

は、ここでの例です。 ここでは純粋なTSQLの構文を探していません!

存在しますか?

追加の注記:私はTSQLコメント削除ツールを使用できることを知っていますが、ここでもっと積極的な解決策を探しています。

答えて

6

あなたは、ストアドプロシージャの外のコメントを維持し、GOcreate procedureからそれを分離することができます:それは別のバッチで作成されるように

/* A comment about the criteria used...*/ 
go 
create procedure a 
as 
begin 
    declare @i int 
end 
go 

この方法でストアドプロシージャは、あなたのコメントは含まれません。

+1

これは機能します!私は最初に 'GO'文を使わずに試しました(' CREATE'文の上にコメントを置くだけです)。それはうまくいきませんでしたが、コメントは依然として公開されたスクリプトの一部でした。だから、 'GO' *は違いを生みました。 – Crono

+0

これは正しいです。同じバッチ内の 'create procedure'に先行するコメントはすべてSPの一部とみなされます。これは将来的にこれらのコメントが意図せずに省略される危険性があります。なぜなら、これらのコメントを 'as 'と' begin'の間に置いてSPボディの一部とし、偶発的な切り捨て。 – ajeh