Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengulang Melalui Nama Lajur MySQL Menggunakan Prosedur Tersimpan?

Bagaimanakah Saya Boleh Mengulang Melalui Nama Lajur MySQL Menggunakan Prosedur Tersimpan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-02 21:53:43271semak imbas

How Can I Iterate Through MySQL Column Names Using Stored Procedures?

Lelaran Melalui Nama Lajur MySQL dengan Prosedur Tersimpan

Keperluan untuk mengakses dan mengulangi nama lajur daripada jadual MySQL, terutamanya dalam tersimpan prosedur menggunakan SQL asli, menimbulkan cabaran biasa di kalangan pembangun MySQL. Panduan komprehensif ini akan menunjukkan cara untuk mendapatkan semula nama lajur dan menggunakannya secara dinamik menggunakan gelung berasaskan kursor.

MySQL menyediakan SHOW COLUMNS FROM arahan untuk mendapatkan senarai lajur dalam jadual. Untuk mengulangi nama-nama ini, gelung berasaskan kursor digunakan. Pernyataan DECLARE memulakan kursor bernama col_names. Kursor diisi dengan pertanyaan SELECT yang mendapatkan semula nama lajur daripada jadual INFORMATION_SCHEMA.COLUMNS, menyatakan nama jadual yang diingini dan mengisih keputusan mengikut kedudukan ordinalnya.

Menggunakan fungsi FOUND_ROWS(), jumlah bilangan baris (iaitu, nama lajur) direkodkan ke dalam pembolehubah num_rows. Satu gelung kemudiannya dimulakan menggunakan pernyataan SET untuk menetapkan 1 kepada pembolehubah i, yang mewakili indeks lelaran semasa.

Label the_loop berfungsi sebagai titik permulaan gelung. Penyata IF menyemak sama ada indeks i melebihi kiraan num_rows. Jika ia berlaku, gelung akan keluar dan kursor ditutup menggunakan penyataan CLOSE col_names.

Dalam gelung, pernyataan FETCH mendapatkan semula baris seterusnya daripada kursor, memberikan nama lajur kepada pembolehubah col_name. Nilai ini kemudiannya boleh digunakan untuk pelbagai tujuan, seperti menghantarnya sebagai parameter kepada prosedur tersimpan.

Pernyataan SET menambah indeks i sebanyak 1 untuk beralih ke nama lajur seterusnya dalam lelaran berikutnya. Gelung berterusan sehingga semua nama lajur telah diproses, memastikan setiap nama lajur diakses secara dinamik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Melalui Nama Lajur MySQL Menggunakan Prosedur Tersimpan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn