ホームページ >データベース >mysql チュートリアル >SQL Server で CTE の前にセミコロンを使用するのはなぜですか?
CTE (共通テーブル式) とセミコロン: 使用される理由
SQL Server では、CTE (共通テーブル式) ステートメント通常、式の前にセミコロンがあります。これは SQL Server のステートメント終了の要件ではないのに、CTE で使用されるのはなぜですか?
理由の 1 つは、あいまいさを避けるためです。 WITH は、CTE 以外の他のコンテキストでも使用できます。
CTE の前にセミコロンを使用すると、CTE と間違えられなくなります。
さらに、SQL Server のステートメントはオプションでセミコロンで終了できますが、それらを一貫して使用することがベスト プラクティスです。これにより、ステートメントが適切に終了しない場合に発生する可能性のあるエラーが防止されます。
特に CTE の場合、式の前にセミコロンを使用すると、先行するステートメントが適切に終了します。例:
DECLARE @foo int; WITH OrderedOrders AS ( SELECT SalesOrderID, OrderDate, ...
は次と同等です:
DECLARE @foo int ;WITH OrderedOrders AS ( SELECT SalesOrderID, OrderDate, ...
CTE 式の前にセミコロンを使用すると、先行する DECLARE ステートメントが終了していることが明確になります。
同様に、MERGE コマンドでは、CTE ではない場合でも、MERGE ステートメントの前にセミコロンが必要です。これにより、やはりあいまいさがなくなり、ステートメントが適切に終了することが保証されます。
以上がSQL Server で CTE の前にセミコロンを使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。