环境: create table test (id int,names varchar(30),name varchar(30))
假设 insert into test(id,names)values(2000,'li')
写一个触发器
当插入 上述语句时
更新test.name=names
要的结果:
id            names      name
2000     li                    li
 求怎么写这个触发器尼

解决方案 »

  1.   

    1、违反触发器原则,插入和更新在同一表同时出现
    2、直接把数据insert进去就行了,为什么又要用触发器更新一次呢。
      

  2.   

    SQL> 
    SQL> create table test (id int,names varchar(30),name varchar(30))
      2  /
    Table created
    SQL> create trigger test_ins
      2  before insert on test
      3  for each row
      4  begin
      5      :new.name := :new.names ;
      6  end ;
      7  /
    Trigger created
    SQL> insert into test values(1,'XX','YY');
    1 row inserted
    SQL> select * from test ;
                         ID NAMES                NAME
    ----------------------- -------------------- --------------------
                          1 XX                   XX
    SQL> drop table test purge ;
    Table droppedSQL> 
      

  3.   

    create trigger mytrig
      before insert on test
      for each row
    begin
      :new.name := :new.names;
    end mytrig;
    ---你试试