Oracle Error PLS-00405: subquery not allowed in this context

Oracle Error Message

PLS-00405: subquery not allowed in this context

Reason for the Error

A subquery was used in an inappropriate context, such as: if (SELECT deptno FROM emp WHERE … ) = 20 then … Subqueries are allowed only in SQL statements.

Solution

The same result can be obtained by using a temporary variable, as in: SELECT deptno INTO temp_var FROM emp WHERE …; IF temp_var = 20 THEN …