Oracle Error Message
PLS-00412: list of values not allowed as argument to this function or procedure
Reason for the Error
A parenthesized list of values separated by commas (that is, an aggregate) was used in the wrong context. For example, the following usage is invalid: WHERE (col1, col2) > (SELECT col3, col4 FROM my_table …) However, an equal sign can take a list of values and a subquery as left- and right-hand-side arguments, respectively. So, the following usage is valid: WHERE (col1, col2) = (SELECT col3, col4 FROM my_table …)
Solution
Rewrite the expression. For example, the clause WHERE (col1, col2) > (SELECT col3, col4 FROM my_table …) can be rewritten as WHERE col1 > (SELECT col3 FROM my_table …) AND col2 > (SELECT col4 FROM my_table …)