CREATE OR REPLACE TRIGGER HR_UPI.HR_HMD
BEFORE UPDATE
ON HR_UPI.HR_EMPLOYEES
REFERENCING NEW AS NEW_VALUE OLD AS OLD_VALUE
FOR EACH ROW
if(exists(select employee_idn from HR_UPI.HR_EMPLOYEES where employee_idn=NEW_VALUE.employee_idn and instr(quit_reason,'秆埃')>0) )
begin
 rollback;
end;
/小弟很少用oracle ,請各位大俠幫忙,tks!

解决方案 »

  1.   

    CREATE OR REPLACE TRIGGER HR_UPI.HR_HMD
    BEFORE UPDATE
    ON HR_UPI.HR_EMPLOYEES
    FOR EACH ROW
    begin
    if(exists(select employee_idn from HR_UPI.HR_EMPLOYEES where employee_idn=NEW_VALUE.employee_idn and instr(quit_reason,'秆埃')>0) ) then
     rollback;
    end if;
    end;
      

  2.   

    2/4     PLS-00204: 函數或虛擬直欄 'EXISTS' 也許僅能用在 SQL 敘述句中
    2/1     PL/SQL: Statement ignored2樓后執行如下還是有錯誤。怎麼修正下呢
      

  3.   


    CREATE OR REPLACE TRIGGER HR_UPI.HR_HMD
    BEFORE UPDATE
    ON HR_UPI.HR_EMPLOYEES
    REFERENCING NEW AS NEW_VALUE OLD AS OLD_VALUE
    FOR EACH ROW
    begin
    if(:OLD_VALUE.employee_idn = :NEW_VALUE.employee_idn and instr(:OLD_VALUE.quit_reason,'秆埃')>0) )
    then
     rollback;end if;
    end;是不是这个意思?