oracle中的序列创建

前端之家收集整理的这篇文章主要介绍了oracle中的序列创建前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在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;

猜你在找的Oracle相关文章