【发布时间】:2020-02-25 02:54:42
【问题描述】:
我创建了这个 sql 触发器:
CREATE OR REPLACE TRIGGER create_event_from_task BEFORE INSERT ON llx_projet_task
BEGIN
INSERT INTO llx_actioncomm (priority, fulldayevent, location, label, fk_element, elementtype, fk_project, datep, datef, percentage, note)
SELECT 0, 0, '', 'prova', id, 'project_task', fk_project, date_start, date_end, progress, description
FROM inserted;
END;
/
但是当我执行时说这个错误:
Errors: TRIGGER CREATE_EVENT_FROM_TASK
Line/Col: 2/2 PL/SQL: SQL Statement ignored
Line/Col: 4/7 PL/SQL: ORA-00942: table or view does not exist
谁能帮帮我?
【问题讨论】:
-
除非您有一个名为
inserted的表,否则Oracle 没有内置表。错误消息似乎很清楚。 -
您是否检查了名为“inserted”的表与您的触发器在同一架构中?如果存在“插入”表,您可能应该给它一个
grant以供您的触发器检测。 -
假设您是 SQL Server 用户(如下所述),请小心使用触发器——Oracle 和 SQL Server 在触发器的行为方式上有着明显不同的机制。
标签: oracle plsql database-trigger