現在、HSQLDB から FIREBIRD に移行中です。
※とある事情があってやむなく…です。
※いずれ HSQLDB は BASE で使用できなくなるそう…です。
FIREBIRD は HSQLDB と違い、初心者の私には制約が多く感じます。
正直に言って、使う側にとっての移行メリットは、特に初心者の私には何も感じられません。
知識なき故に、幾つもの壁にぶつかりながらやっていますが
いかんせん日本語の情報がほとんど入手できません。
そこで私がどうにか得た知識を順次、忘備録としてアップしていこうと思ってます。
↑
忘備録の作成は、こことは別に考えることにしました。
今回は表題の通り、テーブル名が変更できないこと。
試しに作ってみたテーブルの削除には、ある手順が必要な事。
HSQLDB では、いつでも変更可能です。
ただし変更するには、リレーションテーブルで、いったんリレーションを外す必要があります。
さらにそのテーブル名を使用した全てのマクロ、フォーム、クエリを探し出して書き直さなければなりません。
これに対して、
FIREBIRDでは、最初に作成したテーブル名を変更できないだけでなく、
同じテーブル名は「ある手順を踏まないと2度と使用できない」ことになります。
それは「テーブルを削除」することなのですが、ここでも HSQLB のようにはいきません。
そのままでは削除すらできなくて、かなり慌ててしまいます。
私のような初心者にとってこれの何が不便かというと、
クエリが動くかどうかを試しに作成してみる TEST用のテーブル を気軽に作成できないことです。
試行錯誤ができなくなってしまいます。
FIREBIRD のテーブルの削除のしかた
- 再起動する
- リレーションを外す。←これは HSQLDB でも同じ。
- FIREBIRD (リブレ)を再起動する。
- これで削除できるようになる。
FIREBIRD のテーブル名の変更のしかた
- 別に作成した HSQLDB のデータベースを拝借する
- HSQLDB で作成したデータベースの中にいったんテーブルをコピーする。
- HSQLDB 側でテーブル名を変更する。
- FIREBIRD を再起動して、テーブルを削除する。
- FIREBIRD 側に HSQLDB 側から再びコピーして戻す。