CREATE TRIGGER TRG_EFMREFNO
BEFORE
INSERT ON FEEDBACK_CASE_TB
FOR EACH ROW
BEGIN
SELECT SEQ_EFMREFNO.NEXTVAL INTO:NEW.EFMREFNO FROM DUAL;
END;
please help me it's give errors
An unexpected token "CREATE TRIGGER TRG_EFMREFNO
BEFOR" was found following "BEGIN-OF-STATEMENT". Expected tokens may include: "<revoke>
".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.12.79An unexpected token "END-OF-STATEMENT" was found following "END". Expected tokens may include: "JOIN
<joined_table>
".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.12.79
Please give the solution for that errors
You have 2 things going on here -
1) When the ";" character is part of the SQL statement, it's necessary to use a different character to terminate the statement. I typically use "@". To tell the "db2" command that you have chosen a different character, use
or if you want to read from a file
2) The correct way to update new row in a trigger is to set an alias for the new row, and use a set clause:
There may be other ways to use the sequence with the default clause in the create table statement that will accomplish the same thing: