Error code
Oracle ORA-01422
ORACLEORA-01422
Database Error Code· An error code returned by a database server such as PostgreSQL or MySQL.
What it means
exact fetch returns more than requested number of rows — SELECT INTO got multiple rows.
How to fix it
- Replace SELECT INTO with a cursor to iterate over multiple rows.
- Add a more selective WHERE clause to ensure the query returns exactly one row.
- Use ROWNUM = 1 or FETCH FIRST 1 ROW ONLY as a last resort if only the first row is needed.
Not affiliated with Oracle. Answer summarized from the manufacturer's manual linked above; consult that source for the authoritative procedure.
More Oracle codes
- ORA-00001unique constraint violated — duplicate value in unique index
- ORA-00054resource busy and acquire with NOWAIT specified — lock unavailable
- ORA-00060deadlock detected while waiting for resource
- ORA-00904invalid identifier — the column or alias name is not recognized
- ORA-00911invalid character — the SQL statement contains an unexpected character
- ORA-00918column ambiguously defined — the column name matches more than one table in the query
- ORA-00933SQL command not properly ended — unexpected token at the end of the statement
- ORA-00942table or view does not exist — the named object is not accessible
- ORA-00955name is already used by an existing object — DDL name conflict
- ORA-01017invalid username/password — logon denied
- ORA-01400cannot insert NULL into a NOT NULL column
- ORA-01403no data found — a SELECT INTO or FETCH returned no rows