レコードの自動採番
主キーでユニークな番号を持ちたいときなどに自動的に番号を採番する方法。
採番用のカウントマスタテーブルを用意する。 プラス、カウンタマスタ用の何らかのプログラムをセットで書いておく。
テーブル作成時にauto noを設定する。 設定した列に自動で番号を振ってくれる。DBMSによっては使えない。MySqlで設定する場合は
create table testm ( key01 smallint unsigned not null auto_increment primary key, data01 varchar(10), data02 int8 ) type=InnoDB;
- シーケンスを使う。 サーバー側でCNT_FOOとかシーケンスを作っておく。 Oracle Enterprise Manager コンソールを開き ネットワーク>データベース>SID名>スキーマ>DB名>順序 で右クリック-作成
シーケンスの現在の番号の次の値をBBBB_MST.AAAにINSERTする
insert into BBBB_MST ( AAA, XXX, YYY, ZZZ) Values(CNT_FOO.NEXTVAL, xxx='', yyyy='', zzz='')
現在の番号を取得する
select CNT_FOO.CURRVAL from Dual