我想在oracle中创建一个序列,其中列字段(Empid)的最大值必须是序列的最小值.
下面是我在同一个stackexchange中找到的那个
create sequence mytemp_seq start with &v_Startval;
如何在没有提示的情况下修复& v_startval的值,但直接设置以下语句中的值
select max(empid) from mytemp..
我想在下面这样做
create sequence mytemp_seq start with (SELECT MAX(empid) from mytemp)
但它不起作用.
解决方法
你可以用一些PL / sql做到这一点:
declare v_startval integer; begin select max(empid)+1 into v_startval from mytemp; execute immediate 'create sequence mytemp_seq start with ' || v_startval; end;