Informix DBMSでは、SERIAL列は挿入後に変更されません。実際、SERIAL値を更新することはできません。値として0を使用して新しい値を挿入するか(この場合、新しい値が生成されます)、または他の値を挿入することができます。他の値がすでに存在し、一意の制約がある場合、それは失敗します。存在しない場合、またはシリアル列に一意の制約がない場合は、成功します。挿入された値が以前に挿入された最大値よりも大きい場合、次に挿入される数値は再び1つ大きくなります。挿入された数値が小さいか負の場合、次の数値に影響はありません。
したがって、値を変更せずに更新を行うことができます-問題ありません。番号を変更する必要がある場合は、削除と挿入(または挿入と削除)を実行する必要があります。挿入にはゼロが含まれます。一貫性を優先し、トランザクションを使用する場合は、いつでも削除してから、同じ番号またはゼロの行を(再)挿入して新しい番号をトリガーできます。これは、SQLを実行するプログラミング言語があることを前提としています。 ISQLとPerformを微調整して自動的に行うことはできないと思います。
したがって、現時点では、Informixで問題は発生していません。
適切なバージョンのIDS(サポートされているもの)を使用すると、SEQUENCEを使用して挿入される値を制御することもできます。これは、Oracleの構文と概念に基づいています。 DB2もこれをサポートしています。他のDBMSには、自動生成された数値を処理するための他の同等の(ただし異なる)メカニズムがあります。