>데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 CTE 앞에 세미콜론을 사용하는 이유는 무엇입니까?

SQL Server에서 CTE 앞에 세미콜론을 사용하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-05 13:31:42724검색

Why Use a Semicolon Before a CTE in SQL Server?

CTE(공통 테이블 표현식)와 세미콜론: 왜 사용되나요?

SQL Server에서는 CTE(공통 테이블 표현식) 문을 사용합니다. 일반적으로 표현식 앞에 세미콜론이 있습니다. 이는 SQL Server에서 명령문 종료를 위한 요구 사항이 아닌데 왜 CTE와 함께 사용됩니까?

한 가지 이유는 모호성을 피하기 위한 것입니다. WITH는 CTE 외에도 다음과 같은 다른 컨텍스트에서 사용될 수 있습니다.

  • 잠금 동작 제어를 위한 FROM ..WITH (NOLOCK)
  • 데이터베이스 복원을 위한 RESTORE ..WITH MOVE

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.