0

データベーステーブルに挿入される新しい注文に注文番号を割り当てるために使用する(Oracle)シーケンスがあります。1 から始まり、新しい注文ごとに 1 ずつ増加します。

注文番号は 10000000 (1000 万) から始まる必要があるという新しい要件があるため、既存のすべてのレコードを更新し (10000000 を追加します。注文 1 は 10000001 になり、注文 7002 は 10007002 になります)、インクリメントも行います。次の値が正しくなるように Oracle シーケンスを変更します。

私は単にこのスクリプトを実行するつもりでした:

DECLARE
  l_temp NUMBER;
BEGIN
  FOR idx IN 1..10000000 LOOP
    SELECT MY_ORDER_SEQ.nextval
      INTO l_temp
      FROM dual
    ;
  END LOOP;
END;
/

しかし、実行にどれくらいの時間がかかるかはよくわかりません。

これを行うより良い方法はありますか?

4

1 に答える 1