分类: Oracle
2011-02-24 09:40:21
PLS-00204: function or pseudo-column 'string' may be used inside a SQL statement only
Cause:
A pseudocolumn or proscribed function was used in a procedural
statement. The SQL pseudocolumns (CURRVAL, LEVEL, NEXTVAL, ROWID,
ROWNUM) can be used only in SQL statements. Likewise, certain functions
such as DECODE, DUMP, and VSIZE and the SQL group functions (AVG, MIN,
MAX, COUNT, SUM, STDDEV, VARIANCE) can be used only in SQL statements.
Action: Remove the pseudocolumn reference or function call from the procedural statement. Or, replace the procedural statement with a SELECT INTO statement; for example, replace bonus := DECODE(rating, 1, 5000, 2, 2500, ...); with the following statement: SELECT DECODE(rating, 1, 5000, 2, 2500, ...) INTO bonus FROM dual;