Oracleデータベースでは、IDの自己増加を実現する2つの方法があります.
1222 ワード
Oracleデータベースでは、MySQLのようにIDの自己増加を設定するのは簡単ではありません.Oracleではシーケンスを設定する必要があります.
具体的には、次のようにします.
ステップ1:テーブルの作成
1つ目の方法:トリガを使用しない
2つ目の方法:Triggerトリガの使用
知識を分かち合い、楽しみを分かち合います!もし間違いを発見したら、指摘してください.ありがとうございます.
具体的には、次のようにします.
ステップ1:テーブルの作成
create table ContestDB
(
TID NUMBER(10) PRIMARY KEY,
TEAMNUM varchar(50) not null,
MARKNUM varchar(50)
);
第2ステップ:ID自増を設定する1つ目の方法:トリガを使用しない
CREATE SEQUENCE SEQ_TID;
INSERT INTO ContestDB VALUES(SEQ_TID.NEXTVAL,'B20007009','B001 ');
INSERT INTO ContestDB VALUES(SEQ_TID.NEXTVAL,'B20007010','B003 ');
2つ目の方法:Triggerトリガの使用
--
create sequence ContestDB_sequence
increment by 1 -- , 1
start with 1 -- 1
nomaxvalue --
nocycle -- ,
nocache --
--
CREATE TRIGGER ContestDB_trigger
BEFORE INSERT ON ContestDB
FOR EACH ROW
WHEN (new.TID is null) -- tid , tid
begin
select ContestDB_sequence.nextval into :new.TID from sys.dual;
end;
insert into ContestDB(TEAMNUM,MARKNUM) values('A20007013','A002');
insert into ContestDB(TEAMNUM,MARKNUM) values('A20007014','A003');
知識を分かち合い、楽しみを分かち合います!もし間違いを発見したら、指摘してください.ありがとうございます.