我有以下代码会产生一些编译器错误。我已经在网上使用了几个例子来使用这些声明和FROM DUAL概念,但无法识别问题。谢谢!
Error1: SQL statement Ignored (referencing line 9 - "DECLARE")
Error2: missing VALUE keyword (referencing line 15 - "FROM DUAL;")
---delete or replace trigger------------------------------
CREATE OR REPLACE TRIGGER videoAuditDeleteTrigger
BEFORE DELETE OR UPDATE
ON video
FOR EACH ROW
DECLARE
v_username VARCHAR2(20);
BEGIN
SELECT USER INTO v_username
FROM DUAL;
INSERT INTO videoAudit
(videoID
,title
,releaseDate
,category
,username
,datetimestamp);
VALUES
(:OLD.videoID
,:OLD.title
,:OLD.releaseDate
,:OLD.category
,v_username
,SYSDATE);
END;
/
答案 0 :(得分:1)
试试这个,你在insert语句中使用了额外的分号
CREATE OR REPLACE TRIGGER videoAuditDeleteTrigger
BEFORE DELETE OR UPDATE ON video FOR EACH ROW
DECLARE v_username VARCHAR2(20);
BEGIN
SELECT USER INTO v_username FROM DUAL;
INSERT INTO videoAudit (videoID ,title ,releaseDate ,category ,username ,datetimestamp)
VALUES (:OLD.videoID ,:OLD.title ,:OLD.releaseDate ,:OLD.category ,v_username ,SYSDATE);
END;