Oracle11g 使用Oracle过程从表中获取下一个卷号
在这段代码中,maxroll用于生成过程,rollno用作数据库字段。这给了我表中的最大(最后)卷数。 有谁能建议我如何获得下一个卷号(最大+1)吗?请使用 然后你可以用Oracle11g 使用Oracle过程从表中获取下一个卷号,oracle11g,Oracle11g,在这段代码中,maxroll用于生成过程,rollno用作数据库字段。这给了我表中的最大(最后)卷数。 有谁能建议我如何获得下一个卷号(最大+1)吗?请使用 然后你可以用 CREATE SEQUENCE rollno_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE; 另请参见,对于您眼前的问题,您可以使用max(col)+1 select rollno_seq.nextval from dual; 但
CREATE SEQUENCE rollno_seq
START WITH 1
INCREMENT BY 1
NOCACHE
NOCYCLE;
另请参见,对于您眼前的问题,您可以使用
max(col)+1
select rollno_seq.nextval from dual;
但是,如果您在插入下一条记录时要使用它,那么这不是正确的方法
你应该改为使用序列
create or replace procedure "FINDMAX"
(maxroll OUT NUMBER)
is
begin
select 1 + max(rollno) into maxroll from std;
end;
然后在插入时使用它,使用
roll\u no_seq.nextval
感谢您的帮助。工作。
create or replace procedure "FINDMAX"
(maxroll OUT NUMBER)
is
begin
select 1 + max(rollno) into maxroll from std;
end;
create sequence roll_no_seq start with 1 increment by 1;