2017-02-04 91 views
0

的触发值,我从表中创建的视图:而是虚拟列

CREATE OR REPLACE VIEW employee_list AS 
    SELECT firstName || ' ' || lastName AS "employee" 
    FROM employees; 
END; 

而且我想将值插入这一观点。我创建INSTEAD OF触发器:

CREATE OR REPLACE TRIGGER trigger_v_emp_list 
INSTEAD OF INSERT ON employee_list 
FOR EACH ROW 
BEGIN 
    dbms_output.put_line(:new.employee); 
END; 

但是,当我试图编译这个触发我得到错误:

Error(3,24): PLS-00049: bad bind variable 'NEW.EMPLOYEE' 

是否有可能在触发得到这个插入值插入该数值到员工表?当然,我会把这个值分成两个分开的值。

+2

尝试删除视图定义中的双引号。 –

+0

@GordonLinoff谢谢! :) – porgo

回答

1

"employee"使其区分大小写。 当你写道:new.employee它试图寻找大写。同样的事情发生在别名中。应该使其工作:

CREATE OR REPLACE VIEW employee_list AS 
    SELECT firstName || ' ' || lastName AS employee 
    FROM employees; 
END;