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 …