create or replace trigger ''aa"."belt_aa" before insert on "aa" . "belt_a" rreferencing old ad "old" bew as "new" for each row enable
begin
         select s_belt_a.nextval into:new.id sys.dual;
end; 
错误信息:
[err] ora-24344:scuess with compilation error

解决方案 »

  1.   


    SQL> 
    SQL> create table belt_aa(id int, name varchar(10));
    Table created
    SQL> create sequence s_belt_a;
    Sequence created
    SQL> create or replace trigger tri_belt_aa_ins
      2  before insert on belt_aa
      3  for each row
      4  begin
      5     select s_belt_a.nextval into :new.id from dual;
      6  end;
      7  /
    Trigger created
    SQL> begin
      2    insert into belt_aa(name) values('zhang');
      3    insert into belt_aa(name) values('wang');
      4  end;
      5  /
    PL/SQL procedure successfully completed
    SQL> select * from belt_aa;
                                         ID NAME
    --------------------------------------- ----------
                                          1 zhang
                                          2 wang
    SQL> drop table belt_aa purge;
    Table dropped
    SQL> drop sequence s_belt_a;
    Sequence droppedSQL> 
      

  2.   

    写的也是忒乱了。
    在oracle中,慎用双引号,会带来意想不到的麻烦。