Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 而不是虚拟列的触发器值_Sql_Oracle - Fatal编程技术网

Sql 而不是虚拟列的触发器值

Sql 而不是虚拟列的触发器值,sql,oracle,Sql,Oracle,我已从表中创建视图: CREATE OR REPLACE VIEW employee_list AS SELECT firstName || ' ' || lastName AS "employee" FROM employees; END; 我想在这个视图中插入值。我创建了而不是触发器: CREATE OR REPLACE TRIGGER trigger_v_emp_list INSTEAD OF INSERT ON employee_list FOR EACH ROW BE

我已从表中创建视图:

CREATE OR REPLACE VIEW employee_list AS
    SELECT firstName || ' ' || lastName AS "employee"
    FROM employees;
END;
我想在这个视图中插入值。我创建了而不是触发器:

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'
是否有可能在触发器中获取该插入值,以便将该值插入employees表?当然,我会将此值拆分为两个独立的值。

“employee”
使其区分大小写。 当您编写:new.employee时,它试图查找大写字母。别名也会发生同样的情况。应使其发挥作用:

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

请尝试删除视图定义中的双引号。@GordonLinoff谢谢!:)它被标记为Oracle SQL。