web-dev-qa-db-ja.com

CTEが必要です;か否か

クエリウィンドウでCTEを実行するときは、先頭に;が必要ですが、ストアドプロシージャでCTEを実行する場合は、必要ないことがわかりました。 ;

私にとって、それは両方の場所で必要になるか、どちらの場所でも必要とされません。この句読点が一方の領域で必要であり、もう一方の領域では必要ないのはなぜですか?

1
Yohan Greenburg

CTEに先頭の;が必要なわけではありませんが、前のステートメントは;で終わる必要があります。

CTEを含むステートメントがバッチの最初のステートメント(またはSPの最初のステートメント)である場合、その前に;で終わるステートメントはありません。

StackOverflowの質問 詳細があります。

1
Thomas Rushton