Updating of new row is not allowed in after trigger
In order to use :new or :old, the trigger must be a row level trigger.
In my case I only need to set test_string := 'succes' in the row which have been updated. I could just update that field when I update the row, but I prefer not.
It supports constructs that are common to most programming languages.
It supports the declaration of local variables, statements to control the flow of the procedure, assignment of expression results to variables, and error handling.
The Column list names some or all of the Trigger Table's Columns (each may appear in the list only once).
If you omit this optional subclause, the effect is as if you included an s, or aliases: one name for the old row acted on by the Trigger and/or one name for the new row acted on by the Trigger and/or one name for the old Table acted on by the Trigger and/or one name for the new Table acted on by the Trigger (each may be specified once). The execution context is "atomic" in the usual SQL sense of the word: if any action statements fail, then all action statements fail and so does the statement that caused the Trigger activation: your DBMS will return the .