CTE: セミコロンの難題はなぜですか?
共通テーブル式 (CTE) はセミコロン (;) で始まることが多く、一部の開発者を困惑させます。なぜそうなるのかを詳しく掘り下げます。
セミコロンの根拠
セミコロンは、曖昧さを解決し、ステートメントを確実に終了させる上で重要な役割を果たします。 WITH キーワードはさまざまなコンテキストで使用されます。
混乱を避けるため、CTE の前にセミコロンを付けることをお勧めします (例: ;WITH OrderedOrders AS)。これにより、CTE が開始される前に前のステートメントが確実に終了します。
オプションのセミコロン
SQL Server では通常、セミコロンはステートメントの終了ではオプションですが、CTE の前には必須になります。および MERGE コマンド。これはエラーを防ぐための保護措置です。たとえば、
DECLARE @foo int; WITH OrderedOrders AS ( SELECT SalesOrderID, OrderDate, ...
は、
DECLARE @foo int ;WITH OrderedOrders AS ( SELECT SalesOrderID, OrderDate, ...
と同等です。したがって、潜在的な曖昧さを回避し、適切な実行を保証するには、CTE の前にセミコロンを使用することをお勧めします。
以上がSQL Server CTE: なぜ先頭にセミコロンがあるのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。