Tips

既存データと Sequence number 関数

日付2007/01/29
ID44965 (英語原文参照)
バージョン2004
プラットフォームMac & Win

Sequence number 関数は、新しいレコードを保存するときに順番に番号を振るための関数です。しかしこの関数は、既存レコードを保存するときには新しい番号を与えてくれません。

既存データで Sequence number 関数を使うとき、問題になるでしょう。例えば、すでにレコードが存在するテーブルに対しては、Sequence number 関数を使って番号付けを行う事はできません。そのような場合には Sequence number 関数を使う以外の方法で番号付けを行うしかありません。

例えば、すでに500レコードが保存されているテーブルに新たにフィールドを付加し、そこに重複しない番号を記録するようにしたいとします。新しいレコードが保存されるとき、Sequence number 関数を使って番号が記録されるプログラムを作成するだけでは不足です。運用前の準備として、既存の500レコードに対し Sequence number 関数を使わずに番号を入力しなければなりません。

同時に SET DATABASE PARAMETER コマンドを使って Sequence number 関数が返す番号を任意の番号にリセットすることも検討しなければなりません。次の例では、Sequence number 関数を使って501から番号を得られるようにリセットします。

SET DATABASE PARAMETER([Table1];Table Sequence Number ;500)

コマンドや関数の詳細はコマンドリファレンスを参照してください。