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

+ Recent posts