Rumah > Artikel > pangkalan data > Bagaimanakah Saya Boleh Menukar Pertanyaan MSSQL CTE Saya kepada MySQL Tanpa Menggunakan CTE?
Mengubah Pertanyaan MSSQL CTE kepada MySQL
Anda mempunyai pertanyaan CTE yang kompleks dalam MSSQL yang membina pepohon kategori dari bawah ke atas untuk sesuatu yang diberikan ID kategori. Anda ingin tahu cara menterjemahkan pertanyaan ini kepada MySQL, yang tidak menyokong CTE.
Batasan MySQL
Malangnya, MySQL tidak menyokong Common Table Expressions (CTEs ). Ini bermakna anda tidak boleh menterjemahkan pertanyaan CTE anda secara langsung kepada MySQL.
Prosedur Tersimpan Rekursif
Memandangkan CTE membenarkan pertanyaan rekursif, anda perlu melaksanakan prosedur tersimpan dalam MySQL untuk mencapai hasil yang sama. Prosedur tersimpan rekursif boleh merujuk sendiri dalam pelaksanaannya sendiri, membenarkan pemprosesan data hierarki.
Contoh Sebelumnya
Soalan yang telah dijawab sebelum ini menyediakan titik permulaan yang baik untuk melaksanakan rekursif prosedur tersimpan dalam MySQL:
Jawapan ini menunjukkan cara mencipta prosedur tersimpan yang menjana pepohon berasaskan kedalaman daripada data hierarki menggunakan pertanyaan rekursif. Anda boleh menyesuaikan pendekatan ini kepada pertanyaan CTE khusus anda.
Pelaksanaan
Pelaksanaan khusus prosedur tersimpan akan bergantung pada struktur jadual kategori anda dan output yang diingini . Walau bagaimanapun, langkah umum ialah:
Dengan mengikut langkah-langkah ini, anda boleh melaksanakan prosedur tersimpan dalam MySQL yang melaksanakan fungsi yang serupa dengan pertanyaan MSSQL CTE anda dan menyediakan cara untuk memproses data hierarki secara rekursif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Pertanyaan MSSQL CTE Saya kepada MySQL Tanpa Menggunakan CTE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!