【发布时间】:2020-09-21 17:13:38
【问题描述】:
这是我的触发器:
create trigger tampone_trigger
after insert on tamponi.numerotelpaziente
for each row
begin
IF ( :new.numerotelpaziente not in (
select numtel
from users))
then
insert into spaiati values (new.numtel);
end if;
end;
“Tamponi”表确实存在,“numerotelpaziente”是其中一列... 表“USERS”也存在,“numtel”是它的列之一...... 为什么到底给我一个错误? 触发器应该查找插入“Tamponi”的新手机号码,并检查该号码是否存在于“用户”中,如果不存在,则必须将其添加到分隔表“spaiati”中,其中有一列。 . 它完美连接到我的个人数据库(我在上面运行我的 JAVAfx 应用程序,它工作正常,我只需要创建一些触发器)。
Report error -
ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
如果我使用“在 Tamponi 上”而不是同时给出该列,则错误会变成这个:
Report error -
ORA-04082: NEW or OLD references not allowed in table level triggers
04082. 00000 - "NEW or OLD references not allowed in table level triggers"
*Cause: The trigger is accessing "new" or "old" values in a table trigger.
*Action: Remove any new or old references.
如果我使用“在卫生棉条上”,现在的错误是这样的:
2/5 PL/SQL: Statement ignored
2/40 PLS-00405: subquery not allowed in this context
Errori: controllare il log del compilatore
【问题讨论】: