오라클
- 시퀀스 : 테이블의 필드에 일련번호 부여, 순차적으로 증가하는 번호
■ SQL Server
Create Table Memos
(
Num Int Identity(1, 1) Primary Key, -- 번호 => 일련번호
Name VarChar(25) Not Null,
PostDate DateTime Default(GetDate())
)
Go
(
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)
);
(
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);
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);
Insert Into Memos Values(위에서만들어진값, '지리산', SysDate);