kmd
kmd

Reputation: 79

trigger compilation error - statement ignored, missing value keyword,

I have the following code which produces a few compiler errors. I've followed several examples online to use these declare and the FROM DUAL concepts, but can't ID the problem. Thanks!

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;
/

Upvotes: 0

Views: 356

Answers (1)

HaveNoDisplayName
HaveNoDisplayName

Reputation: 8497

Try this, you used extra semicolon in insert statement

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;

Upvotes: 1

Related Questions