Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Semak Kewujudan Baris dengan Cekap dalam PL/pgSQL?
PL/pgSQL: Semak dengan cekap sama ada baris wujud
Dalam PL/pgSQL, mengesahkan kewujudan baris dalam jadual ialah tugas biasa. Anda cuba menggunakan pertanyaan SELECT untuk mendapatkan integer ke dalam nilai Boolean, tetapi kaedah ini tidak cekap dan terdedah kepada ralat. Berikut ialah penyelesaian yang lebih cekap dan ringkas:
Cara paling mudah ialah menggunakan operator WUJUD. WUJUD mengembalikan benar jika sekurang-kurangnya satu baris yang sepadan wujud dalam subkueri, sebaliknya palsu. Ini menyediakan cara yang jelas dan ringkas untuk menyemak kewujudan baris:
<code class="language-sql">IF EXISTS (SELECT FROM people p WHERE p.person_id = my_person_id) THEN -- 执行某些操作 END IF;</code>
Kelebihan EXISTS:
Perbandingan dengan COUNT:
Pendekatan asal anda menggunakan COUNT memerlukan pengimbasan semua baris yang layak untuk menentukan kiraan mereka. Ini mungkin kurang cekap, terutamanya jika terdapat indeks. Sebaliknya, WUJUD boleh ditamatkan sebaik sahaja baris pertama yang sepadan ditemui.
Nota: Jika anda memerlukan kiraan baris yang sepadan, gunakan COUNT dengan syarat yang mengehadkan hasil kepada satu baris, contohnya:
<code class="language-sql">IF (SELECT COUNT(*) FROM people p WHERE p.person_id = my_person_id) > 0 THEN -- 执行某些操作 END IF;</code>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Kewujudan Baris dengan Cekap dalam PL/pgSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!