Message Oracle PLS-00231 - function string may not be used in SQL

ERRORfunction string may not be used in SQL
CAUSEA proscribed function was used in a SQL statement. Certain functions such as SQLCODE and SQLERRM can be used only in procedural statements.
ACTIONRemove the function call from the SQL statement. Or, replace the function call with a local variable. For example, the following statement is illegal: INSERT INTO errors VALUES (SQLCODE, SQLERRM); However, you can assign the values of SQLCODE and SQLERRM to local variables, then use the variables in the SQL statement, as follows: err_num : = SQLCODE; err_msg : = SQLERRM; INSERT INTO errors VALUES (err_num, err_msg);