create or replace trigger tri1 before insert on person
begin 
if inserting then 
select new.name from dual;
end if ;
end;我这个触发器错在哪了?

解决方案 »

  1.   

    create or replace trigger tri1 before insert on person
    declare
      v_newname    person.name%type;
    begin 
    if inserting then 
    select :new.name into v_newname from dual;
    end if ;
    end;
      

  2.   

    --当要插入时 引用将要插入的值是这样写的:new.name 删除时 :old.name;注意前面要:create or replace trigger tri1 before insert on person
    declare
    v_name person.name%type;
    begin 
    if inserting then 
    select :new.name into v_name from dual;
    end if ;
    end;
      

  3.   

    create or replace trigger tri1 before insert on person
    FOR EACH ROW
    declare
    v_newname person.name%type;
    begin
    if inserting then
    select :new.name into v_newname from dual;
    end if ;
    end;new和old不允许用在表级触发器中,必须使用行级声明。欧了!