Keupayaan Pertanyaan Rekursif SQLite
Walaupun ada batasan awal, SQLite kini menawarkan sokongan pertanyaan rekursif yang teguh dengan pengenalan Ungkapan Jadual Biasa (CTE) dalam versi 3.8.3 dan ke atas. Peningkatan ini membolehkan perumusan pertanyaan rekursif berkuasa yang merentasi struktur hierarki.
Pelaksanaan CTE Rekursif:
Menggunakan klausa WITH, anda boleh mentakrifkan CTE rekursif seperti berikut:
WITH RECURSIVE CTE_Name AS ( SELECT ... UNION ALL SELECT ... ) SELECT ... FROM CTE_Name
Sintaks ini membolehkan anda mentakrifkan a pertanyaan rekursif yang berkembang secara berulang, serupa dengan rekursi SQL tradisional.
Pra-3.8.3 Emulasi Pertanyaan Rekursif:
Sebelum versi 3.8.3, SQLite tidak asli menyokong CTE rekursif. Untuk mencontohi rekursi, anda perlu menggunakan pendekatan prosedur:
Dapatkan ID Baris Permulaan dan Sub-bahagian:
Pengambilan Berulang Data Subbahagian:
Teruskan Lelaran:
Atas ialah kandungan terperinci Bagaimanakah SQLite Mengendalikan Pertanyaan Rekursif, Terutamanya Sebelum dan Selepas Versi 3.8.3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!