Oracle7 Server Messages

Contents Index Home Previous Next

04070-04099: Triggers

ORA-04070 invalid trigger name

Cause:An invalid trigger name was specified.
Action:Check that the trigger name is not a reserved keyword.
ORA-04071 missing BEFORE or AFTER keyword

Cause:The trigger statement is missing the BEFORE/AFTER clause.
Action:Specify either BEFORE or AFTER.
ORA-04072 invalid trigger type

Cause:An invalid trigger type was given.
Action:Specify either INSERT, UPDATE, or DELETE as the trigger type.
ORA-04073 column list not valid for this trigger type

Cause:A column list was specified for a trigger type other than UPDATE.
Action:Remove the column list from the trigger.
ORA-04074 invalid REFERENCING name

Cause:An invalid name was given in the REFERENCING clause.
Action:Check that the REFERENCING name is not a reserved word.
ORA-04075 invalid trigger action

Cause:A statement was given for the trigger action.
Action:Specify another trigger action that is not a statement.
ORA-04076 invalid NEW or OLD specification

Cause:An invalid NEW or OLD specification was given for a column.
Action:Respecify the column using a correct NEW or OLD specification.
ORA-04077 WHEN clause cannot be used with table level triggers

Cause:The WHEN clause can only be specified for row-level triggers.
Action:Remove the WHEN clause or specify it for each row.
ORA-04078 OLD and NEW values cannot be identical

Cause:The REFERENCING clause specifies identical values for NEW and OLD.
Action:Specify the REFERENCING clause again with a different value for either NEW or OLD.
ORA-04079 invalid trigger specification

Cause:The CREATE TRIGGER statement is invalid.
Action:Refer to Oracle7 Server SQL Reference for the correct syntax of the CREATE TRIGGER statement.
ORA-04080 trigger name does not exist

Cause:The trigger name specified is invalid, or the trigger does not exist.
Action:Check the trigger name.
ORA-04081 trigger name already exists

Cause:The trigger name or type already exists.
Action:Use a different trigger name or drop the trigger that is of the same type.
ORA-04082 NEW or OLD references not allowed in table level triggers

Cause:The trigger is accessing NEW or OLD values in a table trigger.
Action:Remove any new or old references.
ORA-04083 invalid trigger variable name

Cause:The variable referenced in the trigger body is invalid.
Action:See Oracle7 Server SQL Reference for valid trigger variable types.
ORA-04084 cannot change trigger NEW values in after row triggers

Cause:New trigger variables can only be changed in before-row triggers.
Action:Change trigger type or remove the variable reference.
ORA-04085 cannot change the value of an OLD reference variable

Cause:OLD values can only be read and not changed.
Action:Do not attempt to change an OLD variable.
ORA-04086 trigger description too long, move comments into triggering code

Cause:The trigger description is limited to 2000 characters, for dictionary storage reasons. The description does not include the text of the "when" clause or the text of the PL/SQL code executed for the trigger.
Action:If the trigger description contains a large comment, move that comment into the PL/SQL code for the trigger.
ORA-04087 cannot change the value of ROWID reference variable

Cause:ROWIDs can only be read and not changed.
Action:Do not attempt to change a ROWID value.
ORA-04088 error during execution of trigger name.name

Cause:A runtime error occurred during execution of a trigger.
Action:Check the triggers that were involved in the operation.
ORA-04089 cannot create triggers on objects owned by SYS

Cause:An attempt was made to create a trigger on an object owned by SYS.
Action:Do not create triggers on objects owned by SYS.
ORA-04090 name specifies same table, event and trigger time as name

Cause:The named trigger has a duplicate event and trigger time as another trigger.
Action:Combine both triggers into one trigger.
ORA-04091 table name is mutating, trigger/function may not see it

Cause:A trigger or a user-defined PL/SQL function that is referenced in the statement attempted to query or modify a table that was in the middle of being modified by the statement that fired the trigger.
Action:Rewrite the trigger or function so it does not read the table.
ORA-04092 cannot COMMIT or ROLLBACK in a trigger

Cause:A trigger attempted to COMMIT or ROLLBACK. This is not permitted.
Action:Rewrite the trigger so that COMMIT or ROLLBACK statements are not used.
ORA-04093 references to columns of type LONG are not allowed in triggers

Cause:A trigger attempted to reference a LONG column in the triggering table.
Action:Do not reference the LONG column.
ORA-04094 table name is constraining, trigger may not modify it

Cause:A trigger attempted to modify a table that was constraining for some referential constraint of a parent SQL statement.
Action:Rewrite the trigger so that it does not modify that table.
ORA-04095 trigger name already exists on another table, cannot replace

Cause:An attempt was made to replace a trigger that exists on another table.
Action:Re-create the trigger on the other table using the CREATE OR REPLACE TRIGGER statement.
ORA-04096 trigger name has a WHEN clause that is larger than 2K

Cause:A trigger's WHEN clause is limited to 2K for dictionary storage reasons.
Action:Use a smaller WHEN clause. Note, the trigger body could perform the same limiting action as the WHEN clause.
ORA-04097 DDL conflict while trying to drop or alter a trigger

Cause:An attempt was made to concurrently perform two DDL operations on a trigger or trigger table.
Action:Investigate the new state of the trigger and retry the DDL operation, if still appropriate.
ORA-04098 trigger name is invalid and failed re-validation

Cause:A trigger was attempted to be retrieved for execution and was found to be invalid. This also means that compilation/authorization failed for the trigger.
Action:The options are to resolve the compilation/authorization errors, disable the trigger, or drop the trigger.

ORA-04099 trigger name is valid but not stored in compiled form

Cause:A trigger was attempted to be retrieved for execution and was found to be valid, but not stored. This may mean the an upgrade was done improperly from a non-stored trigger release.
Action:Execute the ALTER <triggername> COMPILE command to compile the trigger. The trigger will then be in stored form. Also, you may want to review that a proper upgrade was done.


Contents Index Home Previous Next