Oracle 根据序列已有最大值自动生成累加序列

CREATE OR REPLACE Procedure Test As
  v_Sn Integer;

Begin

  Select Max(Sn) Into v_Sn From Postcard_Print;
  For i In (Select Rowid Row_Id From Postcard_Print Where Sn Is Null) Loop
    v_Sn := v_Sn + 1;
    Update Postcard_Print Set Sn = v_Sn Where Rowid = i.Row_Id;
  Commit;
  End Loop;
  Commit;
End;

 说明:

       Postcard_Print为需要加入序列的表名;

       v_Sn为设置的累加变量;

       Sn为序列的字段;

你可能感兴趣的:(oracle)