【发布时间】:2021-02-22 14:41:00
【问题描述】:
编译失败,第 3 行 (14:38:54) 与编译错误相关的行号与第一个 BEGIN 语句相关。这只会影响数据库触发器的编译。 PLS-00382:表达式类型错误编译失败,第 3 行 (14:38:54) 与编译错误相关的行号与第一个 BEGIN 语句相关。这只会影响数据库触发器的编译。 PL/SQL:语句被忽略
CREATE TABLE "P1_EXAM_TIMETABLE"
( "EXAM_ID" NUMBER(7,0),
"SCH_NO" NUMBER(4,0),
"CLASS_CODE" VARCHAR2(3) COLLATE "USING_NLS_COMP",
"EXAM_NAME" VARCHAR2(11) COLLATE "USING_NLS_COMP",
"MAX_MARKS" NUMBER(3,0),
"EXAM_DATE" DATE,
"SCH_SESSION" VARCHAR2(7) COLLATE "USING_NLS_COMP",
"SUBJECT" VARCHAR2(20) COLLATE "USING_NLS_COMP",
"CREATED_BY" VARCHAR2(30) COLLATE "USING_NLS_COMP",
"CREATED_ON" NUMBER,
"UPDATED_BY" VARCHAR2(30) COLLATE "USING_NLS_COMP",
"UPDATED_ON" NUMBER,
CONSTRAINT "P1_EXAM_TIMETABLE_PK" PRIMARY KEY ("EXAM_ID")
USING INDEX ENABLE
) DEFAULT COLLATION "USING_NLS_COMP"
/
CREATE OR REPLACE TRIGGER BI_P1_EXAM_TIMETABLE BEFORE
INSERT ON P1_EXAM_TIMETABLE
FOR EACH ROW
BEGIN
:new.EXAM_ID:= P1_EXAM_TIMETABLE_SEQ.nextval;
:new.CREATED_ON:= SYSDATE;
:new.CREATED_BY:= nvl(v('APP_USER'), 'SYSTEM');
:new.UPDATED_BY:= NULL;
:new.UPDATED_ON:= NULL;
END;
有谁知道我在哪里失踪,请帮我解决这个问题
【问题讨论】:
-
可以发一下表结构吗?该错误表明您有类型问题。另外,
v('APP_USER')是什么? -
我创建了相同的触发器,但这不起作用我怀疑它为什么不起作用
-
不知道表很难帮你