복붙노트

[SQL] 당신은 세미콜론을 사용해야 할 때 SQL Server에서 때 GO를 사용한다?

SQL

당신은 세미콜론을 사용해야 할 때 SQL Server에서 때 GO를 사용한다?

나는 항상 내가 명령 한 후 GO 키워드를 사용해야하는 경우와 세미콜론이 명령의 끝에서 필요한지 여부를 혼동했습니다. 무엇의 차이이며 왜 / 내가 그들을 사용해야 할 때?

나는 SQL Server 관리 Studio에서 생성 스크립트를 실행하면 세미콜론을 사방에 GO를 사용하는 것,하지만.

해결법

  1. ==============================

    1.GO는 SSMS 관련 -이 거래 SQL 실제 아니다, 그냥 SSMS 순차적으로 개별 일괄 적으로 각 GO 사이의 SQL 문을 보내 알려줍니다.

    GO는 SSMS 관련 -이 거래 SQL 실제 아니다, 그냥 SSMS 순차적으로 개별 일괄 적으로 각 GO 사이의 SQL 문을 보내 알려줍니다.

    ; SQL 문 구분 기호이지만, 대부분의 엔진은 문이 깨진 곳 해석 할 수 있습니다.

    주요 예외, 및 장소 어디; 가장 자주 사용되는 공통 테이블 식 문 앞에있다.

  2. ==============================

    2.당신이 생성 된 DDL 스크립트에서 많은 GO의 볼 이유 때문에 일괄 처리에 대한 다음과 같은 규칙이다.

    당신이 생성 된 DDL 스크립트에서 많은 GO의 볼 이유 때문에 일괄 처리에 대한 다음과 같은 규칙이다.

    생성 된 DDL에 대한 사용 사례 중 하나는 하나의 파일에 여러 개의 객체를 생성하는 것입니다. 이 때문에의 DDL 생성기는 배치를 생성 할 수 있어야합니다. 다른 사람이 말한 것처럼 GO 문은 일괄 처리를 종료합니다.

  3. ==============================

    3.이동 일괄 분리한다. 그 배치의 모든 특정 배치에 로컬 것을 이것은 의미합니다.

    이동 일괄 분리한다. 그 배치의 모든 특정 배치에 로컬 것을 이것은 의미합니다.

    등의 변수, 테이블 변수의 모든 선언은 GO 문을 가로 질러 이동하지 않습니다.

    그들은 GO 문에 걸쳐 있도록 #Temp 테이블, 연결로 지역이다.

    세미콜론는 성명 터미네이터입니다. 이것은 순전히 특정 명령문이 종료 된 것을 식별하는 데 사용됩니다.

    대부분의 경우, 문 자체가 문장의 끝을 결정하기에 충분 구문.

    CTE를 사용하면 WITH 전에 세미콜론이 필요하므로 WITH가 첫 번째 문이다, 그러나 수요이다.

  4. ==============================

    4.당신은 모든 SQL 문을 종료 세미콜론을 사용해야합니다. 이는 SQL 표준에 정의되어 있습니다

    당신은 모든 SQL 문을 종료 세미콜론을 사용해야합니다. 이는 SQL 표준에 정의되어 있습니다

    물론,보다 더 자주는 아니지만 SQL Server는 문 종료를 생략하지만 왜 나쁜 습관으로 얻을 수 있습니다?

    다른 사람들이 지적했듯이, 공통 테이블 식 (CTE)를 앞의 문은 세미콜론으로 종료해야합니다. 완전히 세미콜론 종료를 수용하지 않은 사람들에서 결과적으로, 우리는이를 참조하십시오

    ;WITH ...
    

    어느 나는 외모가 정말 이상한 생각합니다. 나는 당신이 그것을에 붙여 넣을 수 있습니다 코드의 품질을 말할 수 없다 때 온라인 포럼에 의미가 가정합니다.

    또한, MERGE 문은 세미콜론으로 종료해야합니다. 여기에 패턴을 볼 수 있습니까? 이 밀접 SQL 표준에 따라 TSQL에 새로운 추가의 몇 가지 있습니다. SQL 서버 팀처럼 보인다는 세미콜론 터미네이터의 사용을 의무화의 길을 가고있다.

  5. ==============================

    5.GO가 배치 터미네이터입니다, 세미콜론는 성명 터미네이터입니다.

    GO가 배치 터미네이터입니다, 세미콜론는 성명 터미네이터입니다.

    일괄 처리에서 첫 번째 문이어야 시저를 만들 수 있기 때문에 배수가 1 스크립트에서 PROC 문을 작성해야 할 때 당신은 GO를 사용합니다. 당신이 문 다음 공통 테이블 표현식을 사용하는 경우는 세미콜론으로 종료 할 필요가 전에

  6. from https://stackoverflow.com/questions/3701147/in-sql-server-when-should-you-use-go-and-when-should-you-use-semi-colon by cc-by-sa and MIT license