Merry Christmas & Happy 2027! Less downtime. More good times. Celebrating 13 years of sorlavit.com
Skip to content
Sorlavit KimIT Support, Network & Infrastructure Services Let’s talk

ปุ่มแปลไทยจะเปิดบทความผ่าน Google Translate เพื่อแปลอัตโนมัติ โดยคงโค้ดและคำสั่งไว้ตามต้นฉบับ

Oracle Database / SQL & PL/SQL Errors

ORA-01422: repair an exact fetch that returned too many rows

A PL/SQL exact fetch assumes a single row. A broader predicate or duplicate business key can violate that assumption after data growth.

Compiled for Sorlavit Kim · Published · Updated · 2 min read

Environment and inputs: Oracle Database 19c baseline · SQL*Plus-compatible SQL unless RMAN, DGMGRL, ADRCI or a host shell is specified. Check release, patch level, edition and container first.

Start with this diagnostic

Use the stated SQL, RMAN, DGMGRL or host shell and replace sample names with approved targets. DBA and V$ views need authorized catalog access in the correct container. Do not grant broad privileges for an example.

SELECT line, text FROM user_source WHERE name = 'APP_ORDER_API' AND type = 'PACKAGE BODY' ORDER BY line;

Read the result

The source helps locate the SELECT INTO identified by the runtime backtrace. It does not identify which input or rows caused the failure.

Resolve and verify

Reproduce with sanitized binds and count the candidate rows. Enforce the intended unique rule or use an explicit multirow processing design.

Operational precautions

Do not hide the error by selecting the first row unless that selection order is an approved business rule.

Source & further reading

Oracle Error Help — ORA-01422

Independently written summary reviewed on 2026-11-01. The example illustrates a possible application; it is not a client case study.

Share this article

Back to all articles