SSMSでWITH句があるSQLを新しいクエリ作成しクエリ実行で実行すると、誤りがないのに、以下のメッセージが表示される。
キーワード 'with' 付近に不適切な構文があります。このステートメントが共通テーブル式、xmlnamespaces 句、または変更追跡コンテキストの句の場合は、前のステートメントをセミコロンで終了してください。
WITH句の上に変数宣言や他のSQLを記述していませんか?
以下のキャプチャのように、WITH句の前に何らかの宣言やSQLがあるとクエリエラーとなります。
赤の下線部分をコメントにするか、削除することによりWITH句がエラー無く実行できます。
または、実行部分を選択し、実行すればエラーとなりません。
以上、WITH句の上にSQLなどがあるためにクエリエラーになる原因の紹介でした。