プログラム SQLYog によって生成された MySQL 5.6.16 データベースの SQL ダンプを参照しているときに、すべてのストアド プロシージャCREATE
ステートメントがコメント文字 ( ) で囲まれていることに気付きました/* */
。ただし、ストアド プロシージャは、SQL スクリプトの実行時に作成されました。
CREATE
ストアド プロシージャステートメントを囲むコメントと、これらのコメント付きステートメントが実際に実行されたことに驚きました。
これが実際に起こったことを見て、私は、実際には、SQL 標準、MySQL 自体、または特に SQLYog のいずれかが、少なくともいくつかのコメント付き SQL コードの実行をサポートすることを文書化していると思いました。
これにより、SQL スクリプトの実行時に一部のコメント付きコード ブロックが実行されるという事実に関する詳細が記載されている仕様書を検索することになりました。ただし、1 時間の検索 (特に、公式の仕様を探しますが、SQL、MySQL、または SQLYog のいずれかのドキュメントを二次的に検索します) により、文字通り 1 つのリンクのみが見つかりました。実際、SQL スクリプト内のコードは実行されます。ここにあります:SQLのコメント行が実行されることを参照するためのリンク(いくつかの回答を含む)。
ここで明らかなことを見逃している可能性が高いことは承知していますが、これに関する仕様を見つけることができませんでした。
誰かが確認してもらえますか、そうであれば参照を提供してください。「/* */
」構文がステートメントを囲んでいる場合でも実行される SQL を述べている (および説明している) 正式なドキュメント (これが SQL、MySQL、または SQLYog であるかどうか) ? ありがとう。