mssql - go 의미

DB/SQL Server 2012. 12. 7. 15:33


GO

Transact-SQL 문 일괄 처리의 끝을 Microsoft?? SQL Server™ 유틸리티에 신호합니다.

 

도움말에는 위와 같이 되어있는데요.

 

SQL에서 여러 쿼리를 한번에 처리할때 일괄 처리라고 합니다.

 

그것의 끝을 SQL Server 에게 알린다고 보시면 됩니다.

 

use tempdb
go
create table tb11(
  tb1_id int identity(100,10)
)
go
insert into tb11 default values
insert into tb11 default values
insert into tb11 default values
select * from tb11

 

 

예제에서 3개의 일괄처리가 있군요. go를 경계로 해서..

 

문제는 go는 create, use 문 같은 경우 go를 안쓰고 밑에 바로 insert 문을 같이 쓰면

에러가 납니다.

 

그래서 사용한다고 보시면 됩니다.

 

또 한가지

go를 경계로 일괄처리가 구분되기 때문에.

한쪽에서 정의한 변수를 다른쪽에서는 사용할수 없습니다.

 

DECLARE @num int

go

SET @num = 10

 

하시면 에러가 납니다.

 

SET @num = 10 은 go 위에서 정의 되었는데.

go를 사용함으로써 일괄처리가 끝나고 다시 새로운 일괄처리가 시작되므로써,

변수가 정의가 되지 않은 것입니다.

 

이해가 되셨는지..


출처 - http://k.daum.net/qna/view.html?qid=0FnvU



'DB > SQL Server' 카테고리의 다른 글

mssql - 시간 비교(DATEDIFF)  (0) 2012.12.08
mssql - dbo 의미  (0) 2012.12.07
MS SQL auto_increment  (0) 2012.12.07
MySQL과 MS-SQL Server 2000 자료형 비교  (0) 2012.12.07
MSSQL jdbc - sqljdbc.jar와 sqljdbc4.jar 차이  (0) 2012.12.06
Posted by linuxism
,