使用If循环触发显示编译错误

时间:2019-06-19 06:41:12

标签: oracle oracle11g database-trigger

我创建了一个触发器,该触发器会将数据插入到不同数据库的表中。如果薪水高于10000。但是它会显示编译错误。

UINavigationBar

它显示由于编译错误而创建的触发器

1 个答案:

答案 0 :(得分:0)

如果是Oracle 11g,请删除花括号并进行编译。

此外,在插入记录时在目标表中提供列名也是一种好习惯。如果将新列添加到同一表中,则盲插入会导致问题。

CREATE OR REPLACE TRIGGER insert_ti AFTER
    INSERT ON emp1
    FOR EACH ROW
BEGIN
    IF :new.salary > 10000 THEN
        INSERT INTO emp@db2todb1 VALUES (
            :new.emp_id
            , :new.last_name
            , :new.first_name
            , :new.email
            , :new.hire_date
            , :new.salary
            , :new.manager_id
        );
    END IF;
END;