Background Image
조회 수 29734 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
데이터 값이 자동으로 증가하는 auto_increment 속성은 명시적으로 값을 입력할 수 도 있다.
이로 인해 내부에서 관리되는 현재 값과 실제 테이블에 저장되어 있는 max 값이 다른 경우가 있다.
주로 새로운 테이블에 다른 곳에서 데이터를 가져와 저장하는 경우 해당 컬럼의 값까지 유지해야 하는 경우가 이에 해당할 것이다.
이러한 경우 값을 일치 시키기 위해서는 테이블에서 해당 컬럼의 max값을 구해서 db_serial이라는 시스템 카다로그 테이블의 current_val을 변경하여야 한다.
이를 수행하는 구문은 "alter serial auto_increment_명 start with 변경값;" 과 같이 사용하여야 한다.
이러한 작업을 한 두개의 테이블에서 수행할 경우에는 문제가 없으나, 한 DB내에 여러 테이블에서 동일한 작업을 수행하려면 좀 번거로운 작업이다. 또 실수로 빠뜨리는 경우도 발생할 수 있다.
아래와 같은 절차로 수행하여 위와 같은 작업을 조금 간편화해 보았다.

아래 질의를 수행하면 auto_increment가 생성된 테이블의 alter 문을 생성하기 위한 첫 번째 단계로 select질의문이 생성된다.

select 'select ''alter serial '|| name ||' start with ''|| nvl(max('||att_name||'),1) || '';'' from '||class_name||' ;'

from db_serial where class_name is not null

질의 수행 결과 아래와 같은 구문이 생성되면 이 질의를 수행하여 max값이 설정된 alter 문을 추출한다.

select 'alter serial tn_comment_info_ai_seq start with '|| nvl(max(a),1) || ';' from tn_comment_info ;

질의 수행 결과 아래와 같은 현재 값이 설정된 alter문이 생성되며, 이 질의를 수행하여 현재 값을 변경한다.

Alter serial tn_comment_info_ai_seq start with 100;


  1. 오라클의 order by 시 first와 last 대체 사용법

    Date2011.12.22 Category질의작성 By이용미 Views20179
    Read More
  2. 데이터 존재하면 update, 존재하지 않으면 insert 방법(ON DUPLICATE KEY UPDATE)

    Date2010.08.11 Category질의작성 By손승일 Views38002
    Read More
  3. function based index 대체 방법

    Date2010.07.01 Category질의작성 By남재우 Views13420
    Read More
  4. 모든 필드에 하나 이상 중복 값 찾기

    Date2010.04.27 Category질의작성 By정만영 Views21591
    Read More
  5. group by 사용 방법 및 여러 필드중 하나의 필드에 대하여만 group by 처리 방법

    Date2010.02.26 Category질의작성 By남재우 Views21713
    Read More
  6. CUBRID에서 대소문자 관리

    Date2010.01.30 Category질의작성 By남재우 Views19510
    Read More
  7. 문자 코드셋(UTF-8, EUC-KR) 사용시 CUBRID 는?

    Date2010.01.01 Category질의작성 By남재우 Views22398
    Read More
  8. Integer 컬럼의 결과에 + or – 연산을 할 때 주의해야 할 점

    Date2009.12.31 Category질의작성 By웁쓰 Views13493
    Read More
  9. CUBRID설치 후 default설정 상태에서 Query Plan보기(CSQL모드)

    Date2009.12.31 Category질의작성 Bycubebridge Views16507
    Read More
  10. 쿼리로 인덱스 정보 확인하기

    Date2009.12.29 Category질의작성 By시난 Views24644
    Read More
  11. 쿼리로 테이블이 존재하는지 확인하기

    Date2009.12.28 Category질의작성 By시난 Views23521
    Read More
  12. CUBRID 예약어 사용방법

    Date2009.12.09 Category질의작성 By정만영 Views17183
    Read More
  13. 시스템 테이블을 이용한 인덱스 생성 구문 만들기

    Date2009.12.02 Category질의작성 Byjanus Views15143
    Read More
  14. 예제를 이용한 중복데이터 삭제

    Date2009.12.02 Category질의작성 Byjanus Views18541
    Read More
  15. CUBRID에서 응용프로그램 쿼리 binding 구문이 있을 경우 plan의 차이

    Date2009.11.06 Category질의작성 Bycubebridge Views15701
    Read More
  16. CUBRID DB 내의 auto_increment 값을 초기화 하자.

    Date2009.10.28 Category질의작성 By손승일 Views29734
    Read More
  17. 임의의 컬럼을 rownum 으로 업데이트 하기

    Date2009.07.01 Category질의작성 ByPrototype Views22536
    Read More
  18. 중복데이터 제거 방법

    Date2009.07.01 Category질의작성 ByPrototype Views25068
    Read More
  19. CUBRID 2008에서의 class 정보를 확인하는 sql 쿼리문.

    Date2009.06.30 Category질의작성 Byseongjoon Views13288
    Read More
  20. pivot() 간략하게 구현하기

    Date2009.06.24 Category질의작성 By남재우 Views23429
    Read More
Board Pagination Prev 1 2 3 4 Next
/ 4

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales