触发器失败-ORA-04098无效,重新验证sql失败
这是使用Oracle xe触发器创建接口创建的触发器 创建时没有错误,但在表上调用insert时,会显示触发器错误触发器失败-ORA-04098无效,重新验证sql失败,sql,oracle,Sql,Oracle,这是使用Oracle xe触发器创建接口创建的触发器 创建时没有错误,但在表上调用insert时,会显示触发器错误 触发器失败-ORA-04098无效且重新验证失败 指导和建议会有很大帮助。请参见,此select语句无效,因为没有插入的表格 create or replace trigger "STUDENT_PERSONAL_DETAIL_T1" AFTER insert or update or delete on "STUDENT_PERSONAL_DETAIL" for each r
触发器失败-ORA-04098无效且重新验证失败
指导和建议会有很大帮助。请参见,此select语句无效,因为没有插入的
表格
create or replace trigger "STUDENT_PERSONAL_DETAIL_T1"
AFTER insert or update or delete on "STUDENT_PERSONAL_DETAIL"
for each row
begin
insert into fa1 (s_id,name,class,sec)
select reg_no,name,class,sec
from inserted
end;
编辑如果您想将插入的值记录到表fa1中,您可以执行如下操作,如果您在表学生个人详细信息中有以下列
:注册号、姓名、类别、秒
select reg_no,name,class,sec
from inserted
注意插入“学生个人详细信息”后的条款
。我省略了或更新或删除
,以确保仅对新插入的记录触发此操作。(因为您试图从表'inserted'中进行选择,所以我得出结论,这就是您想要做的)请参见,此select语句无效,因为没有插入的表。
create or replace trigger "STUDENT_PERSONAL_DETAIL_T1"
AFTER insert or update or delete on "STUDENT_PERSONAL_DETAIL"
for each row
begin
insert into fa1 (s_id,name,class,sec)
select reg_no,name,class,sec
from inserted
end;
编辑如果您想将插入的值记录到表fa1中,您可以执行如下操作,如果您在表学生个人详细信息中有以下列
:注册号、姓名、类别、秒
select reg_no,name,class,sec
from inserted
注意插入“学生个人详细信息”后的条款
。我省略了或更新或删除
,以确保仅对新插入的记录触发此操作。(因为您试图从表“inserted”中选择,所以我得出结论,这就是您想要做的)您应该使用:
create or replace trigger "STUDENT_PERSONAL_DETAIL_T1"
AFTER insert on "STUDENT_PERSONAL_DETAIL"
for each row
begin
insert into fa1 (s_id,name,class,sec)
values (:new.reg_no, :new.name, :new.class, :new.sec)
end;
你应使用:
create or replace trigger "STUDENT_PERSONAL_DETAIL_T1"
AFTER insert on "STUDENT_PERSONAL_DETAIL"
for each row
begin
insert into fa1 (s_id,name,class,sec)
values (:new.reg_no, :new.name, :new.class, :new.sec)
end;
在oracle文档中,新插入的行被称为inserted,并且在查询中可以使用相同的关键字“inserted”。感谢您的提及,这很有趣。请链接oracle文档的相关部分好吗?在oracle文档中,新插入的行称为inserted,查询时可以使用相同的关键字“inserted”。谢谢您的提及,这很有趣。请将oracle文档的相关部分链接起来好吗?