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
,


id int identity(1, 1) not null  

identity(1, 1)에서 왼쪽은 시작 번호, 오른쪽은 증가 숫자

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

mssql - 시간 비교(DATEDIFF)  (0) 2012.12.08
mssql - dbo 의미  (0) 2012.12.07
mssql - go 의미  (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
,


MySQL과 MS-SQL Server 2000 비교
다음 표는 MySQL과 MS-SQL Server 2000 사이의 자료유형들의 매핑을
나타내고 있다.
몇몇 MySQL 자료유형은 MS-SQL Sever 2000의 유사 자료형으로 대체 했습니다.
아래의 표는 다음과 같은 정보를 나타내고 있습니다.
숫자 타입
데이터, 시간 타입
문자열 타입
 
참 고

D: 부동 소수점 타입에 적용하고,소수점 후에 자릿수의 수를 가리킨다. 최대 가능한 가치는 30이지만
M-2보다 벌써 커서는 안 된다. 
L: 칼럼의 실제 길이 
M: 최대 표시 크기를 가리킨다. 최대 표시 크기는 255이다. 
 
 
수치 자료형

MySQL
Size
SQL Server 2000
TINYINT
1 Byte
TINYINT
SMALLINT
2 Bytes
SMALLINT
MEDIUMINT
3 Bytes
 
INT
4 Bytes
INT
INTEGER
4 Bytes
INT
BIGINT
8 Bytes
BIGINT
FLOAT(X<=24)
4 Bytes
FLOAT(0)
FLOAT(25<=X<=53)
8 Bytes
FLOAT(25)
DOUBLE
8 Bytes
FLOAT(25)
DOUBLE PRECISION
8 Bytes
FLOAT(53)
REAL
8 Bytes
REAL
DECIMAL
M Bytes(D+2, if M<D)
DECIMAL
NUMERIC
M Bytes(D+2, if M<D)
NUMERIC

 
날짜 시간 자료형

MySQL
Size
SQL Server 2000
DATE
3 Bytes
SMALLDATETIME
DATETIME
8 Bytes
DATETIME
TIMESTAMP
4 Bytes
TIMESTAMP
TIME
3 Bytes
SMALLDATETIME
YEAR
1 Byte
SMALLDATETIME

 
문자열형

MySQL
Size
SQL Server 2000
CHAR(m)
M Bytes, 1<=M<=255
CHAR
VARCHAR(m)
L+1 Bytes where L<=M and 1<=M<=255
VARCHAR
TINYBLOB
L + 1 Bytes where L<2^8
BINARY
BLOB
L + 2 Bytes where L<2^16
VARBINARY
TEXT
L + 2 Bytes where L<2^16
TEXT
MEDIUMBLOB
L + 3 Bytes where L<2^24
IMAGE
MEDIUMTEXT
L + 3 Bytes where L<2^24
TEXT
LONGBLOB
L + 4 Bytes where L<2^32
IMAGE
LONGTEXT
L + 4 Bytes where L<2^32
TEXT
ENUM (VALUE1, VALUE2, …)
데이터형이 1또는 2바이트를
차지하는지는 그값의 수치로
판단된다.
매칭되는 자료형이 없으나CHECK 제약을 이용해 구현 가능하다.
SET (VALUE1, VALUE2, …) 
1, 2, 3, 4 또는 8 바이트. 
Set 멤버들의 최대값에 의존적인 값이다.
 

 


출처 - http://blog.daum.net/iwittooh/3466103





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

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