是不是用sql语句比较好一点?

解决方案 »

  1.   

    create or replace function get(p_begin in varchar2,p_end in varchar2)
    return varchar2
    as
    v_no varchar2(10);
    begin
    select max(no) into v_no from table_name where begin=p_begin and end=p_end;
    return v_no;
    exception
    when others then
    return 0;
    end;
    /create or replace trigger name_tri
    before insert on table_name
    for each row
    begin
    select get(:new.begin,:new.end)+1 into :new.no from dual;
    end;
    /