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-01403: decide whether no data is an error or an expected result

PL/SQL SELECT INTO raises NO_DATA_FOUND when no row matches. The correct behavior depends on whether the business operation permits absence.

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 COUNT(*) AS matching_rows FROM app_owner.app_orders WHERE order_id = 1001;

Read the result

This illustrative lookup checks whether the expected order is visible now. Replace the sample table and key with the failing lookup; a current count does not reconstruct earlier transaction visibility.

Resolve and verify

Locate the failing source line from the runtime stack and examine its predicate and transaction visibility. Handle expected absence explicitly and preserve unexpected absence as a meaningful error.

Operational precautions

Do not swallow all exceptions with WHEN OTHERS and return fabricated data.

Source & further reading

Oracle Error Help — ORA-01403

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