MSSQL GO 명령어 사용 방법 (배치 구분자)

SQL Server GO

GO는 SQL Server에서 일반적으로 사용되는 배치 구분자입니다. 배치 구분자는 여러 T-SQL(표준 SQL에서 확장된 기능을 제공하는 SQL) 명령어를 서로 다른 배치로 나누는 데 사용되는 문자나 문자열을 말합니다. 간단히 말해 배치는 여러 SQL 명령어의 그룹이고, GO는 그 명령어들을 구분하는 데 사용되는 구분자 역할을 합니다.

 

예시를 보면서 GO를 어떤 상황에서 쓸 수 있는지 확인해보겠습니다.

 

예시) 변수 변위 제한

중간에 GO로 구분자를 넣으면 그 아래로 실행되는 쿼리에서는 설정한 변수를 인식하지 않도록 할 수 있습니다.

DECLARE @MyVar INT
SET @MyVar = 10
SELECT @MyVar
GO

SELECT @MyVar

 

예시) DDL과 DML 분리

DDL 명령어는 데이터베이스의 구조를 변경하는 동작을 수행하므로 변경이 완전히 적용된 후 DML 작업을 수행해야 합니다. 이럴 때 오류를 방지하기 위해 GO로 배치를 구분합니다.

CREATE TABLE MySampleTable
(
    ID INT PRIMARY KEY,
    Name NVARCHAR(100)
)
GO  -- 테이블 생성이 완료된 후에 다음 배치로 넘어갑니다.
INSERT INTO MySampleTable VALUES (1, 'John Doe')

 

예시) 프로시저 생성과 호출 분리

프로시저 생성 후에 다음 배치로 넘어가도록 할 수 있습니다.

CREATE PROCEDURE MySampleProcedure
AS
BEGIN
    SELECT 'This is a sample procedure.'
END
GO  -- 프로시저 생성 후에 다음 배치로 넘어갑니다.
EXEC MySampleProcedure  -- 프로시저를 호출합니다.

 

예시) 반복 실행

배치 내 쿼리를 반복해서 실행할 수 있습니다.

PRINT 'This message will be printed 5 times.'
GO 5  -- 위의 PRINT 문을 5번 반복하여 실행합니다.

 

sql server go

반응형

댓글

Designed by JB FACTORY