create or replace trigger bobo
before insert on test for each row
begin
:new.address:='aaaa';
end;
触发器代码insert into test values(1,'sdfd','pkbobo');
插入一行select * from test;
查看结果refresh一下也没出效果,要退出plsql再重新登录了才有
this's why
come on baby tell me teach me 
oh yeah!~

解决方案 »

  1.   

    pl/sql工具下查看还未执行commit的更新,只能在当前窗口下才能看到,建议更新操作后,执行commit
      

  2.   


    create or replace trigger tri_bobo
    before insert 
    on test 
    for each row
    begin
         select 'aaaa' into :new.address from dual;
    end tri_bobo;
      

  3.   


    19:26:15 SQL> 
    19:26:21 SQL> create table t_test(
               2         t_id number(2),
               3         col_1 varchar2(10),
               4         col_2 date
               5         );Table created19:26:21 SQL> 
    19:26:26 SQL> create or replace trigger tri_test
               2  before insert on t_test
               3  for each row
               4  begin
               5       select 'aaa' into :new.col_1 from dual;
               6  end tri_test;
               7  /Trigger created19:27:17 SQL> insert into t_test(t_id,col_2)
               2  values(1,to_date('2010-01-01','yyyy-mm-dd'));1 row inserted19:27:31 SQL> insert into t_test(t_id,col_2)
               2  values(1,to_date('2011-01-01','yyyy-mm-dd'));1 row inserted19:27:52 SQL> select * from t_test;T_ID COL_1      COL_2
    ---- ---------- -----------
       1 aaa        2010-01-01
       1 aaa        2011-01-0119:27:59 SQL> commit;Commit complete19:28:03 SQL> select * from t_test;T_ID COL_1      COL_2
    ---- ---------- -----------
       1 aaa        2010-01-01
       1 aaa        2011-01-01