database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 1620 게시물 읽기
No. 1620
IDENTITY ALWAYS 컬럼 값 받아오는 방법
작성자
조성환(조댕이)
작성일
2008-05-30 15:25
조회수
11,437

DROP TABLE TEST;
CREATE TABLE TEST(ID INT GENERATED ALWAYS AS IDENTITY(START WITH 1, INCREMENT BY 1),
                                 NAME VARCHAR(10));

TEST 테이블을 위와 같이 만듭니다.
그리고 데이터를 넣게 되면


INSERT INTO TEST(NAME) VALUES ('CHS1');
INSERT INTO TEST(NAME) VALUES ('CHS2');
INSERT INTO TEST(NAME) VALUES ('CHS3');
INSERT INTO TEST(NAME) VALUES ('CHS4');


TEST 테이블은

ID | NAME
1  | CHS1
2  | CHS2
3  | CHS3
4  | CHS4

이런 식으로 생기게 되는 데요..

** INSERT 하는 순간 IDENTITY 컬럼에 들어간 값이 무엇인지 아는 방법을 아시면 가르쳐 주세요.

INSERT INTO TEST(NAME) VALUES('CHS5');
하면 ID = 5 가 생길 건데 5를 어떻게 가져오나요.

이 글에 대한 댓글이 총 1건 있습니다.

db2 "select distinct identity_val_local() from test"


그외>

식별 컬럼 정의 수정

프로시저

임포트 또는 로드 조작으로 임포트한 테이블을 재작성하려고 하고, 또 테이블에 IDENTITY 컬럼이 있다면, 테이블의 내용을 재작성한 다음 IDENTITY 값을 1에서 생성을 시작하도록 재설정합니다. 이렇게 다시 작성된 테이블에 새 행을 삽입할 때, 다시 1에서 시작하는 IDENTITY 컬럼을 원하지 않습니다. IDENTITY 컬럼에서 중복 값을 원하지 않습니다. 이를 방지하려면 다음을 수행해야 합니다.

  1. 테이블을 재작성하십시오.
  2. MODIFIED BY IDENTITYOVERRIDE절을 사용하여 테이블에 데이터를 로드하십시오. 데이터가 테이블에 로드되지만 식별 값은 행에 대해 생성되지 않습니다.
  3. 다음과 같이 쿼리를 실행하여 IDENTITY 컬럼에 대한 마지막 카운터 값을 구하십시오.
       SELECT MAX(<IDENTITY column>) 

    이는 테이블의 IDENTITY 컬럼 값이었던 값과 동일 값을 리턴합니다.

  4. ALTER TABLE문의 RESTART절을 사용하십시오.
       ALTER TABLE <table name> ALTER COLUMN <IDENTITY column> 
          RESTART WITH <last counter value> 
  5. 테이블로 새 행을 삽입하십시오. IDENTITY 컬럼 값이 RESTART WITH절에 지정된 값을 기본으로 생성됩니다.
조는 냥이님이 2008-05-30 17:19에 작성한 댓글입니다.
이 댓글은 2008-05-30 17:21에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1625스토어드 프로시져 빌딩 [5]
MARIN
2008-06-03
15996
162380040e14 에러의 예외문은 못하나요?
teduri
2008-06-02
10977
1622가로로 나오는 값을 세로로 나오게 하고싶습니다. [3]
조동연
2008-06-02
13059
1620IDENTITY ALWAYS 컬럼 값 받아오는 방법 [1]
조성환
2008-05-30
11437
1619날짜관련문제... [3]
윤동민
2008-05-29
11950
1618스토어드프로시저 빌드관련 문제 [11]
박경욱
2008-05-29
11010
1617조인 관련 질문드립니다. [3]
이도희
2008-05-27
10587
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다