Menyimpan Keputusan Pertanyaan PostgreSQL dalam Pembolehubah PL/pgSQL
Mengurus hasil pertanyaan dengan cekap dalam fungsi PL/pgSQL adalah penting untuk pengaturcaraan pangkalan data PostgreSQL. Ini melibatkan memperuntukkan output pertanyaan dengan betul kepada pembolehubah untuk pemprosesan selanjutnya.
Mari kita menggambarkan dengan fungsi yang mengesahkan kehadiran rekod berdasarkan IDnya:
Pendekatan Salah:
Percubaan berikut untuk memberikan pertanyaan terus kepada pembolehubah adalah cacat:
<code class="language-sql">name = 'SELECT name FROM test_table where id = x';</code>
Ini hanya memperuntukkan rentetan pertanyaan SQL kepada pembolehubah, bukan hasil pertanyaan sebenar.
Pendekatan Betul menggunakan SELECT INTO
:
Kaedah yang betul menggunakan pernyataan SELECT INTO
:
<code class="language-sql">SELECT test_table.name INTO name FROM test_table WHERE id = x;</code>
Ini melaksanakan pertanyaan dan menyimpan nilai name
yang diambil ke dalam pembolehubah name
. Perhatikan penggunaan test_table.name
untuk menyatakan lajur secara eksplisit, mengelakkan kekaburan. Jika pertanyaan mengembalikan berbilang baris, hanya nilai baris pertama akan diberikan. Jika tiada baris ditemui, name
akan ditetapkan kepada NULL
. Untuk mengendalikan berbilang baris, pertimbangkan untuk menggunakan kursor atau teknik lain yang sesuai.
Atas ialah kandungan terperinci Bagaimana untuk menetapkan hasil pertanyaan PostgreSQL kepada pembolehubah dalam PL/PGSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!