Anda dapat memeriksa variabel khusus DITEMUKAN dari tipe boolean. Dari dokumentasi:
DITEMUKAN salah dalam setiap panggilan fungsi PL / pgSQL. Ini diatur oleh masing-masing jenis pernyataan berikut:
Pernyataan SELECT INTO menetapkan FOUND true jika suatu baris diberikan, salah jika tidak ada baris yang dikembalikan.
Pernyataan PERFORM menetapkan FOUND true jika menghasilkan (dan membuang) satu atau lebih baris, false jika tidak ada baris yang dihasilkan.
Pernyataan UPDATE, INSERT, dan DELETE menetapkan DITEMUKAN benar jika setidaknya satu baris terpengaruh, salah jika tidak ada baris yang terpengaruh.
Pernyataan FETCH menetapkan DITEMUKAN benar jika mengembalikan baris, salah jika tidak ada baris yang dikembalikan.
Pernyataan MOVE menetapkan DITEMUKAN benar jika itu berhasil mereposisi kursor, salah jika tidak.
Pernyataan FOR atau FOREACH menetapkan DITEMUKAN jika itu mengulangi satu atau lebih kali, yang lain salah. DITEMUKAN seperti ini saat loop keluar; di dalam eksekusi loop, DITEMUKAN tidak dimodifikasi oleh pernyataan loop, meskipun mungkin diubah oleh eksekusi pernyataan lain dalam tubuh loop.
KEMBALI QUERY dan RETURN QUERY EXECUTE pernyataan yang diset DITEMUKAN jika kueri mengembalikan setidaknya satu baris, salah jika tidak ada baris yang dikembalikan.
Pernyataan PL / pgSQL lainnya tidak mengubah status DITEMUKAN. Perhatikan khususnya bahwa EXECUTE mengubah output dari GET DIAGNOSTICS, tetapi tidak berubah DITEMUKAN.
DITEMUKAN adalah variabel lokal dalam setiap fungsi PL / pgSQL; setiap perubahan hanya akan memengaruhi fungsi saat ini.
select into
yang mengembalikan tidak ada data masih akan menimbulkan pengecualian, kan?