반응형
mssql Go 명령어로 쿼리 나누어서 실행하는 예제
여러개의 쿼리를 실행시 주의해야 할 사항들이다. 그중 하나의 방법이 Go문을 사용하여 쿼리를 나누어서 실행하는 방법이다.
두개 이상의 쿼리를 하나로 날리는 경우
1 select 1
2 select 2
2 select 2
위의 쿼리는 2개이지만 실행시 내부적으로는 하나의 쿼리를 생성하여 출력된다.
하지만 여러개의 쿼리를 수행시 create view 나 procedure 같은 문법의 경우 쿼리의 맨 앞에 시작에 와야 한다.
그래서 go문을 사용하여 나누어 실행되게 수행한다.
1 select 1
2 go
3 select 2
4 go
5
6 create view test_a as
7 select 3 as b
8 go
2 go
3 select 2
4 go
5
6 create view test_a as
7 select 3 as b
8 go
Go문은 아주 중요하다.
쿼리를 나누어서 실행해야 하는 경우 쓰면 좋다.
위의 쿼리의 경우 view나 procedure 같은 문법이 쿼리의 중간에 들어가도 실행할 수 있게 되는 것이다.
만약 go문이 빠지고 view나 procedure가 쿼리의 중간에 쓰게 된다면 에러를 나타낸다.
메시지 111, 수준 15, 상태 1, 줄 3
'CREATE VIEW' must be the first statement in a query batch.
'CREATE VIEW' must be the first statement in a query batch.