我的表结构是
create table employee(
employee_id char(10) not null primary key,
employee_name varchar(30) not null)
临时表为employee_temp 结构和employee一样
如何创建触发器呢
我参考SERVER SQL写的一个不对
create trigger tri_del_emp before delete on employee for each row as insert into employee_temp select * from inserted;ERROR 位于第 1 行:
ORA-04079: 无效的触发器说明

解决方案 »

  1.   

    create or replace trigger tri_del_emp 
    before delete on employee
    for each row 
    begin
        insert into employee_temp values(:old.字段1,:old.字段2,...);
    end;建议去看一下orale的触发器,跟sql server的差别很大
      

  2.   

    select * from inserted
    这是sql server的写法吧?oracle用old和new。
      

  3.   

    up,楼主可看一个例子,详细参考下oracle中的语法。
      

  4.   

    可憐,跟我當初剛從sql2000轉到ORACLE的時候,寫的一樣
      

  5.   

    create trigger tri_del_emp 
    before delete on employee for each row 
    begin
     insert into employee_temp 
     values(:old.employee_id,:old.employee_name);
    end;
      

  6.   

    CREATE OR REPLACE TRIGGER employee_temp
      BEFORE delete  on employee  for each row
    begin
      -----如果插入新行时,
        insert into employee_temp
        values
        ----按temp表的字段,写employee的字段名
          (:old.*) ;      end;
      

  7.   

    Visual_Studio_Net(打鼠英雄) 
    我照你那个写的
    create or replace trigger tri_del_emp
    before delete on employee
    for each row
    begin
      insert into employee_temp values(:old.EMPLOYEE_ID,:old.EMPLOYEE_NAME,:old.EMPLOYEE_SEX,:old.EMPLOYEE_WORKAGE);
    end;错误是:
    ERROR 位于第 1 行:
    ORA-04089: 无法对 SYS 所有的对象创建触发器我是在worksheet里操作的!!