自動インクリメントフィールドがあるテーブルにデータを挿入するとき、一般的にはSQLクエリを使用して新しく作成されたレコードの最後に挿入されたIDを取得します。TFDQueryを使用してINSERTクエリを実行し、続いて、SELECTクエリを実行すれば、新しく挿入された自動インクリメントIDを取得できます。異なるデータベースには、これを実現するために異なるSQLクエリがあります。LAST_INSERT_ID))という名前で実行できるSELECTクエリ関数があります。このSELECT文を直接実行するか、FireDAC内蔵の機能を使用することができます。“RDB$GENERATORS"ここに入っています。この方法でgenerator一覧の取得が可能です。“gen_id([ジェネレータ名],0)"で取得できますが上記のRDB$GENERATORSを使って取得する事も可能です。オラクルの場合DUALが使えるがInterbaseはDUALがありません。RDB$DATABASEを代用します。EnterpriseInterbaseはジェネレータを持っています。generatorで"sq1"と言う名称のgeneratorが一つ完成しました。中身は0が入っています。“sq1"の中身に1をセットします。generatorは自動インクリメントの代わりにも利用できます。GEN_ID()関数を使うと、t1テーブルに1が追加されて"sq1"も1になります。再度上記インサート文を入れるとt1テーブルに追記されますが2が入り"sq1"も2になります。自動インクリメントのような動きが作れます。