IT개발/Oracle Database2010. 9. 1. 06:15

오라클
- 시퀀스 : 테이블의 필드에 일련번호 부여, 순차적으로 증가하는 번호 

■ SQL Server

Create Table Memos
(
 Num Int Identity(1, 1) Primary Key, -- 번호 => 일련번호
 Name VarChar(25) Not Null,
 PostDate DateTime Default(GetDate())
)
Go


■ Oracle
테이블 생성 후 시퀀스(일련번호)를 따로 만들어야 한다.

샘플 테이블 생성

Create Table Memos
(
    Num Number(4) Primary Key, -- 번호 => 일련번호를 넣을 필드
    Name VarChar2(25) Not Null,
    PostDate Date Default(SysDate)
);

해당 테이블에 시퀀스 생성

Create Sequence Memos_seq Start With 1 Increment By 1;

데이터 입력 : 일련번호 포함

SQL> Insert Into Memos 
      
Values(Memos_seq.NextVal, '홍길동', SysDate);

현재 시퀀스가 어디까지 증가되어져 있는지 확인

SQL> Select Memos_seq.CurrVal From dual;

시퀀스 수정 : 최대 증가값을 1000까지로 제한

Alter Sequence Memos_seq MaxValue 1000;

시퀀스 삭제

SQL> drop sequence Memos_seq;

시퀀스 없는 상태에서 자동 증가값 구현?

Select Max(Num) From Memos;
Insert Into Memos Values(위에서만들어진값, '지리산', SysDate);


 

 

 

 

Posted by 시티락