Oracle 甲骨文触发器ora-04098

Oracle 甲骨文触发器ora-04098,oracle,plsql,triggers,Oracle,Plsql,Triggers,寻求一些基本帮助,可能是代码输入错误 我有以下资料: create table scott.original(mystr varchar2(10)) insert into scott.original values('hi') select * from scott.original CREATE OR REPLACE TRIGGER scott.original_trigger AFTER INSERT ON scott.original FOR EACH ROW BEGIN se

寻求一些基本帮助,可能是代码输入错误

我有以下资料:

create table scott.original(mystr varchar2(10))
insert into scott.original values('hi')
select * from scott.original

CREATE OR REPLACE TRIGGER scott.original_trigger
AFTER INSERT ON scott.original
FOR EACH ROW
BEGIN
    select 'deleting or updating' from dual
END;
/

insert into scott.original values('bye')
“bye”的插入抛出错误ora-04098,我在oracle中看不到问题,这是我第一次尝试在oracle中创建触发器。

PL/SQL块中的任何SELECT语句都需要将数据选择到某个变量中

CREATE OR REPLACE TRIGGER scott.original_trigger
AFTER INSERT ON scott.original
FOR EACH ROW
DECLARE
    l_variable VARCHAR2(100);
BEGIN
    select 'deleting or updating' 
      into l_variable
      from dual
END;
/
将是有效的语法。当然,这个触发器实际上并没有做任何事情,但我假设这是您计划稍后解决的问题。

PL/SQL块中的任何SELECT语句都需要将数据选择到某个变量中

CREATE OR REPLACE TRIGGER scott.original_trigger
AFTER INSERT ON scott.original
FOR EACH ROW
DECLARE
    l_variable VARCHAR2(100);
BEGIN
    select 'deleting or updating' 
      into l_variable
      from dual
END;
/

将是有效的语法。当然,这个触发器实际上没有任何作用,但我想这是您计划稍后解决的问题。

谢谢,是的,在将所有逻辑放入触发器之前,我正在尝试制作一个简单的触发器。很好,谢谢你,是的,在把所有的逻辑放进去之前,我试着做一个简单的触发器。现在效果很好