SnowConvert: あいまいなコメントの検証

説明

この検証ステップでは、エントリコードにあいまいなコメント(/*/)を作成する可能性のある文字列があるかどうかを検証します。

エントリコードにあいまいなコメントがあると、次のような警告ウィンドウが表示されます。

Ambiguous Comment Validation Failed

また、 ScopeValidation レポートには、失敗したファイルに関する情報が記載されています。

ScopeValidation.csv

あいまいな理由

SQL のブロックコメントは /* で始まり、 */ で終わります。文字シーケンス /*/ が使用されると、ソース言語によっては、ブロックコメント内のネストを開始したり、ブロック全体を終了したりします。

以下は、 /*/ を使った有効なステートメントの例です。

select col1,
  /*Some comment/*/ */*/
  col2,
  col3
from
  table1;
Copy
select col1,
  /*Some comment/*/
  col2,
  col3
from
  table1;
Copy
select col1,
  /*Some comment/*/ */*/
  col2,
  col3
from
  table1;
Copy
select col1,
  /*Some comment/*/
  col2,
  col3
from
  table1;
Copy

ご覧のように、Teradataと SQL Serverでは、OracleとSnowflakeでのコメントの動作と異なります。Teradataでも、bteqや他のスクリプト言語用の別の処理があります。

あいまいさの解消

Snowflakeでは、コード中に /*/ のシーケンスがある場合、それは通常ブロックコメントの終わりです。ただし、ソースコードで異なる使い方をしている場合は、それに合わせて調整するようにしてください。