開発環境にリリースする挿入がいくつかありますが、開発者は挿入を行うときに正しい識別子を取得するためにシーケンスを使用していません。彼が行ったことは本番データベースに入れられ、最大の識別子が何であるかを見つけ、それに数百の数字を追加しました。起動するために、彼は今会社を辞めました。
したがって、prodへのスクリプトはこれらの何百もので満たされています:
INSERT INTO table (sequencecol, cola, colb) VALUES (90001,'test','test');
INSERT INTO childtableB (foreignkeyTableA, cola) VALUES (90001,'test')
あるべきだったとき
INSERT INTO tableA (sequencecol, cola, colb) VALUES (tablesequence.NEXTVAL,'test','test');
INSERT INTO childtableB (foreignkeyTableA, cola) VALUES (tablesequence.CURRVAL,'test')
私が扱っているシナリオはこれよりも複雑で、書き直す時間がありません。代わりに、このスクリプトの一部として挿入されたレコードの最大値にシーケンスを設定したいだけです。
シーケンスの値を変更して、挿入するレコードの最大値+1の値に設定することはできますか?
私はより良い提案を受け入れています