Data Analysis/Microsoft SQL Server

MS SQL의 GO 의 의미

AubreyJeong 2019. 3. 1. 10:09

습관적으로 쓰는 GO 의 의미를 정확히 정의해보자.


1. GO 를 쓰는 이유 


  MS SQL에서 Go는 일괄처리batch의 단위라고 볼 수 있다.


매번 한줄 한줄 명령어를 실행할 때마다 데이터베이스에 접속해서 왔다갔다하면 처리시간도 많이 걸리고 효율적이지 못하다. 

따라서 큰 덩어리 단위로, 묶음 단위로 처리할 것을 묶어서 보내주는 batch라는 개념이 나오게 된다. GO는 그 구분점!


예를 들어, CREATE TABLE 문을 실행해서 테이블을 만들었다고 하자. 

그런데 이 밑에 바로 INSERT문을 사용해서 해당 테이블에 데이터를 넣으면 에러가 나올 것이다.

일괄처리로 한번에 처리하려 하는데 테이블만드려하는데 옆에선 아직 생성중인 테이블에 바로 데이터 넣으려고하니까



2.  GO 의 분류


독립적인 명령어로써 SQL문처럼 보이지만 사실 SQL이 아니다.

마이크로 소프트가 독자적으로 확장한 Transact-SQL도 아니다.

하기의 세가지 툴에서 쓰이는 tool용 명령어.


3.  GO 가 쓰이는 TOOL의 종류


1. SQL cmd 유틸리티

2. OSQL 유틸리티

3. SQL Server Management Studio 의 코드 편집기



4.  GO 의 특징


 이전에 쓰인 GO 다음부터 현재 GO앞까지를 실행한다.

따라서 여기서 중요한 것이, 변수의 선언의 문제! 이전에 선언한 변수 뒤에 GO가 들어왔으면 리셋되어버린다.

뒤에서 해당 변수를 다시 사용하고 싶다면 GO 뒤에 다시 선언해줘야함!



'Data Analysis > Microsoft SQL Server ' 카테고리의 다른 글

IDENTITY 초기화  (0) 2019.03.01
FLOAT를 써서는 안되는 이유  (0) 2019.01.31
Microsoft SQL Server 2017 설치하기  (0) 2019.01.28
Microsoft SQL Server  (0) 2019.01.22