I'm trying to create a trigger to update the row just written to a table. I'm having difficulties because it cannot resolve the correlation of the variables. The example only has one of 4 columns that I need to update.
Here is the entire code for the trigger:
Create trigger needles.WBXMLDtg01
after insert on needles.WBXMLD
referencing new row as new_row
for each row
update needles.wbxmld set wbxtsp = now()
where wbxprc = new_row.wbxprc
this is the error:
SQL State: 42703
Vendor Code: -206
Message: [SQL0206] Column or global variable WBXPRC not found. Cause . . . . . : WBXPRC was not found as a column of table *N in *N and was not found as a global variable in *N. If the table is *N, WBXPRC is not a column of any table or view that can be referenced. Recovery . . . : Do one of the following and try the request again: -- Ensure that the column and table names are specified correctly in the statement. -- If this is a SELECT statement, ensure that all the required tables were named in the FROM clause. -- If the column was intended to be a correlated reference, qualify the column with the correct table designator. -- If the column was intended to be a global variable, qualify the name with the schema where the global variable exists or ensure the schema is in the path.
Why can't WBXPRC be found? It is the key for the table and as such exists in needles.WBXMLD. It is also identified using the referencing name for the new row, new_row.
My experience with triggers is very low and after spending much of the day looking online and in many manuals, I'm stuck.
This communication, including attachments, is confidential, may be subject to legal privileges, and is intended for the sole use of the addressee. Any use, duplication, disclosure or dissemination of this communication, other than by the addressee, is prohibited. If you have received this communication in error, please notify the sender immediately and delete or destroy this communication and all copies.