2017-03-23 1 views

답변

1

GO은 T-SQL 문이 아닙니다. GO은 스크립트에서 명령문 블록의 끝을 나타내는 데 사용되는 SQL Server 도구 및 유틸리티에서 사용하는 일괄 구분 기호입니다. 스크립트에서 GO이 발견되면 도구는 실행을 위해 앞의 문장 블록을 SQL Server에 단일 일괄 처리로 보냅니다.

세미콜론은 SQL 문 끝을 나타내는 데 사용되는 ANSI 표준 문구 종결 자 언어 요소입니다. 이러한 터미네이터는 구문 분석을 용이하게합니다. T-SQL에서는 대부분의 경우 세미콜론을 생략 할 수 있지만 다음 문이 공통 테이블 식 (WITH에서 도입)과 같은 새로운 키워드 인 경우 문 종료자가 필요합니다. 터미네이터를 생략하는 것은 현재는 더 이상 사용되지 않으며 이전 버전과의 호환성을 위해 제공됩니다.

+0

확인. 그래서 스크립트는 조각들로 ('go'와 ';'에 의해) 쪼개지고 SQL 서버에 보내어 하나씩 실행하십시오. – Xin

+0

@ Xin. 옳은. SQL Server는 개별 배치 만 볼 수 있습니다 ('GO'종결자가 없음). –

+0

if 'statement1; statement2; statement3 statement4 go statement5', 서버는 exec [1 + 2 + 3 + 4] 그리고 나서 [5]; 또는 [1] [2] [3] [4,5]? 감사합니다 – Xin

1

; 명령문을 종료합니다. GO는 일련의 명령문을 종료합니다. ; 명시 적 사용이 필요한 MERGE와 같은 특정 명령문을 실행하지 않으면 실제로 필요하지 않습니다.

관련 문제