寻求一些基本的帮助,可能是代码中的拼写错误。
我有以下内容:
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中创建一个触发器。
答案 0 :(得分:4)
PL / SQL块中的任何SELECT
语句都需要选择数据INTO
某个变量。
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;
/
将是有效的语法。当然,这个触发器实际上并没有做任何事情,但我认为这是你计划稍后解决的问题。