2017-02-04 93 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;