2016-02-25 236 views
-1

我有兩個表,一個名爲EMPLOYEE,第二個名爲SQL Developer中的CURRENT_EMPLOYYE。在表插入創建Oracle觸發器

EMPLOYEE表具有三個字段: ID(類型:編號,PK),FNAME(類型:VARCHAR2 50),DATE(類型:日期)

表CURRENT_EMPLOYYE有三個字段: ID(類型:數,PK),FNAME(類型:varchar2 50),DATE(類型:日期)

我想要做的是在表EMPLOYEE上創建一個觸發器,以便在此表中插入一條記錄時,插入表CURRENT_EMPLOYYE中。

有關如何這樣做的任何幫助?

+1

http://stackoverflow.com/search?q=oracle+insert+trigger – kevinsky

回答

3

一般來說你彷彿想是

CREATE OR REPLACE TRIGGER EMPLOYEE_AI 
    AFTER INSERT ON EMPLOYEE 
    FOR EACH ROW 
BEGIN 
    INSERT INTO CURRENT_EMPLOYEE 
    (ID, FNAME, DATE) 
    VALUES 
    (:NEW.ID, :NEW.FNAME, :NEW.DATE); 
END EMPLOYEE_AI; 

一個更好的選擇是對員工表示員工狀態的「狀態」字段(如「C」 =當前,「T」 =終止,「X」 =極端偏見終止:-)然後只是有CURRENT_EMPLOYEE是一個觀點:

CREATE OR REPLACE VIEW CURRENT_EMPLOYEE AS 
    SELECT * 
    FROM EMPLOYEE 
    WHERE STATUS = 'C' 

這樣你就不會有重複的多個表上的員工數據的問題。

祝你好運。

+0

親愛的,當我嘗試在sql開發人員編輯器中創建腳本時,我得到一個彈出窗口來輸入新的綁定。這是關於什麼的? – mikeb

+0

我從來沒有使用SQL Developer,所以我不能幫你。這聽起來像一個單獨的問題 - 我建議你發佈它。 –

+0

我想通了,謝謝你的幫助 – mikeb