Meskipun Anda telah menempatkan kondisi WHERE, cara yang lebih baik adalah menangani kasus catatan tidak ditemukan atau kesalahan 'Tidak Ditemukan'. Saya akan menulis kode di atas dengan membungkus SELECT
pernyataan dengan BEGIN/EXCEPTION/END
-nya sendiri blokir.
Kodenya bisa seperti ini:
BEGIN
SELECT trim(name)
INTO fullName
FROM (
SELECT n.name
FROM directory dir, store n
WHERE dir.name = n.name
AND dir.STATUS NOT IN ('F','L','M')
ORDER BY n.imp, dir.date
)
WHERE rownum <= 1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
fullName := NULL;
END;