반응형
공통 테이블 식, 세미콜론이 필요한 이유는 무엇입니까?
보통은SQL ServerCommon Table Expression 절에는 다음과 같이 문 앞에 세미콜론이 있습니다.
;WITH OrderedOrders AS --semicolon here
(
SELECT SalesOrderID, OrderDate,
ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber'
FROM Sales.SalesOrderHeader
)
SELECT *
FROM OrderedOrders
WHERE RowNumber BETWEEN 50 AND 60
왜요?
- WITH는 다른 곳에서 사용될 수 있으므로 모호성을 피하기 위해
..FROM..WITH (NOLOCK)..
RESTORE..WITH MOVE.. - 다음으로 문을 종료하는 것은 선택 사항입니다.
;SQL 서버에서
종합하면, WITH/CTE 전에 이전 문을 종료해야 합니다.오류를 방지하기 위해 대부분의 일반적인 사용;WITH왜냐하면 우리는 CTE 이전에 무엇이 있는지 모르기 때문입니다.
그렇게
DECLARE @foo int;
WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
와 동일합니다.
DECLARE @foo int
;WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
MERGE 명령에도 유사한 요구 사항이 있습니다.
언급URL : https://stackoverflow.com/questions/6938060/common-table-expression-why-semicolon
반응형
'programing' 카테고리의 다른 글
| git 커밋 서명 실패: 비밀 키를 사용할 수 없습니다. (0) | 2023.06.29 |
|---|---|
| 세그멘테이션 결함 처리 (0) | 2023.06.29 |
| 다른 컨테이너의 도커 몽고 이미지 '연결 거부됨' (0) | 2023.06.29 |
| Git: fatal: Pathspec이 하위 모듈에 있습니다. (0) | 2023.06.29 |
| 빈 UI 텍스트 필드에서 백스페이스 검색 (0) | 2023.06.29 |