Viewing Oracle Compile Errors
When creating procedures, functions, packages, triggers, or package bodies via Oracle, if there are compilation errors, Oracle will store these errors in a system table.
To view these errors, you will need to know the type of object being compiled, such as a procedure, and the name of the object. With this information, the following query can be executed.
select * from SYS.USER_ERRORS where NAME = <object_name> and type = <object_type>
For example, if attempting to create a procedure via the following command:
CREATE OR REPLACE PROCEDURE RAISE_SALARY(dept_no number, percentage number) AS
employee_salary EMPLOYEE.SALARY%TYPE;
CURSOR ECursor IS 
	SELECT SALARY FROM EMPLOYEE where DNO = dept_no FOR UPDATE;
BEGIN
	OPEN ECursor;
	LOOP
	FETCH ECursor into employee_salary;
	EXIT WHEN ECursor%NOTFOUND;
	UPDATE EMPLOYEE SET SALARY = (employee_salary*percentage) 
		WHERE CURRENT OF ECursor;
	END LOOP;
	CLOSE ECursor;
	COMMIT;
END RAISE_SALARY;
				
				To view any errors associated with the above procedure, you can use the following query:
select * from SYS.USER_ERRORS where NAME = 'RAISE_SALARY' and type = 'PROCEDURE'
Let's say, for example, that the table EMPLOYEE does not exist. The above query will then return an error such as the following:
PL/SQL: ORA-00942: table or view does not exist
The type column can be types such as the following:
				PROCEDURE
				FUNCTION
				PACKAGE
				PACKAGE BODY
				TRIGGER
				
When using RazorSQL, any compilation errors will automatically be retrieved by RazorSQL and displayed in a new window after executing a create or create or replace command that contains compile errors.
