SELECT IDENT_CURRENT ( '테이블명' ) : 현재 값
SELECT IDENT_INCR ( '테이블명' ) : 증가값
SELECT IDENT_SEED ( '테이블명' ) : 시작값
--- identity 를 재설정 하기
select * from 테이블이름
SELECT ident_current ( '테이블이름' ) --- 이것으로 확인한 후에
SET IDENTITY_INSERT 테이블이름 on
insert into 테이블이름 ( tr_num, tr_senddate, tr_id, tr_phone , tr_msg )
values ('249000', getdate(), 'hee', '019-394-0043', 'test_db 14:35' )
SET IDENTITY_INSERT 테이블이름 off
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SELECT MIN(IDENTITYCOL) FROM TB_TEST : 최소값을 가져옴.
SELECT Max(IDENTITYCOL) FROM TB_TEST : 최대값을 가져옴.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IDENT_INSERT 옵션의 사용
-[ SET IDENTITY_INSERT table_name ON ]
- 시스템에 의해 값이 자동 생성되는 것을 중지하고 사용자가 직접 identity 컬럼에 값을 삽입할 수 있도록 한다.
- 시스템 관리자, 데이터베이스 소유자, 테이블 소유자에 의해서만 설정될 수 있다.
- 한사용자는 한번에 하나의 테이블에 대해서만 IDENTITY_INSERT 설정을 가질 수 있다.
- 하나의 테이블은 여러명의 IDENTITY_INSERT 설정을 가지는 사용자를 가질 수 있다.
- identity 값을 재사용하는 효과를 가진다.
===============================================
MS-SQL에서는 필드의 값이 들어 갈때 마다 순차적으로 (1.2.3.4.5.6.....)값이 자동으로
1씩 증가 되게 하려면 테이블을 생성할때
create TABLE TABLENAME (
idx INT NOT NULL IDENTITY(1,1),
tname varchar(20),
t_phone varchar(30),
)
이런 방식으로 합니다.
idx INT NOT NULL IDENTITY(1,1)
-필드명 데이터형 not허용여부 값이1씩증가-
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IDENTITY의 조건에 따르지 않고 특정한 값을 입력
SET IDENTITY_INSERT [TB_NAME] ON
입력할 INSERT 구문
'DBMS > MS SQL' 카테고리의 다른 글
시간함수 (0) | 2013.05.03 |
---|---|
입력매개변수, 출력매개변수가 있는 저장프로시져 (0) | 2013.05.03 |
저장프로시져 IF .. ELSE 사용예 (0) | 2013.05.03 |
저장프로시져 CASE문 예 (0) | 2013.05.03 |
저장프로시져 WHILE문 예 (0) | 2013.05.03 |