Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menentukan Pemalar Dinamakan dalam Pertanyaan PostgreSQL?
PostgreSQL: Bekerja dengan Pemalar Dinamakan dalam Pertanyaan
Tidak seperti sesetengah bahasa pengaturcaraan, PostgreSQL tidak menyokong penentuan terus pemalar bernama dalam pertanyaan SQL. Contoh berikut tidak akan berfungsi:
<code class="language-sql">MY_ID = 5; SELECT * FROM users WHERE id = MY_ID;</code>
Penyelesaian Berkesan: Ungkapan Jadual Biasa (CTE)
Penyelesaian yang paling berkesan melibatkan penggunaan Common Table Expressions (CTE). CTE membolehkan anda menentukan pemalar bernama untuk kegunaan dalaman dalam pertanyaan:
<code class="language-sql">WITH my_constants AS ( SELECT 5 AS my_id ) SELECT * FROM users, my_constants WHERE users.id = my_constants.my_id;</code>
Pendekatan ini mentakrifkan my_id
sebagai pemalar dalam my_constants
CTE. Pertanyaan utama kemudian bergabung dengan CTE ini, menjadikan pemalar boleh diakses untuk digunakan dalam klausa WHERE
.
Kaedah CTE ini terbukti amat berguna apabila berurusan dengan nilai tarikh tetap atau parameter lain merentas berbilang subkueri. Ia memastikan ketekalan dan meningkatkan kebolehbacaan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Pemalar Dinamakan dalam Pertanyaan PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!