是,不能再进行对触发表进行查询操作,建议将max(n_code) 保存在另外一张表中,随时更新。

解决方案 »

  1.   

    用一个包,记录当前最大值,那么每次触发器:new.n_code就与包的变量作比较。
    create package name_page
    as
    v_code varchar2(10):=当前最大值;
    end;
    /在触发器中,修改如下:
    select max(n_code) into v from netusers;
    改为
    if :new.n_code>name_page.v_code then 
      name_page.v_code:=:new.n_code;
    .......
      

  2.   

    那你可以建立一张表,两个字段,第一个表示前九位号码,另一个表示具有该前缀的当前最大号,
    每次在TRIGGER中查询和更新。