Haruyuki Mohri

毛利春幸のブログです。

Interbase Generator 応用1

generator一覧を取得

generatorは “RDB$GENERATORS"ここに入っています。

select * from RDB$GENERATORS;

この方法でgenerator一覧の取得が可能です。
f:id:mojeld:20170617181334p:plain

1つのgeneratorデータを取得

gen_id([ジェネレータ名],0)"で取得できますが上記のRDB$GENERATORSを使って取得する事も可能です。 RDB$GENERATORSをselectで呼ぶ事も可能

select gen_id([ジェネレータ名],0) from RDB$DATABASE;
--もしくは
select rdb$generator_id from RDB$GENERATORS
where rdb$generator_name='[ジェネレータ名]';

f:id:mojeld:20170617184804p:plain
オラクルの場合DUALが使えるがInterbaseはDUALがありません。
RDB$DATABASEを代用します。

generatorを設定

generatorをセットする場合

SET GENERATOR [ジェネレータ名] TO [セットしたい数字];
--updateで設定する場合
update RDB$GENERATORS set RDB$GENERATOR_ID = 0 where RDB$GENERATOR_NAME = '[ジェネレータ名]';

参考URL

http://www.geocities.jp/kimura804/rdb/InterBase/ip_ib_code_generator_j.htm