クエリウィンドウでCTE
を実行するときは、先頭に;
が必要ですが、ストアドプロシージャでCTE
を実行する場合は、必要ないことがわかりました。 ;
私にとって、それは両方の場所で必要になるか、どちらの場所でも必要とされません。この句読点が一方の領域で必要であり、もう一方の領域では必要ないのはなぜですか?
CTEに先頭の;
が必要なわけではありませんが、前のステートメントは;
で終わる必要があります。
CTEを含むステートメントがバッチの最初のステートメント(またはSPの最初のステートメント)である場合、その前に;
で終わるステートメントはありません。
StackOverflowの質問 詳細があります。