Lelaran Secara Dinamik Melalui Nama Lajur dalam Jadual MySQL
Soalan ini meneroka kaedah untuk melelaran melalui nama lajur dalam jadual MySQL menggunakan tersimpan prosedur yang ditulis dalam SQL asli. Matlamatnya ialah untuk mendapatkan senarai nama lajur dan kemudian laksanakan prosedur tersimpan berdasarkan setiap nama lajur sebagai pembolehubah.
Mendapatkan Nama Lajur
Untuk mendapatkan semula nama lajur daripada jadual MySQL, gunakan SHOW COLUMNS FROM
Menggelung Melalui Nama Lajur
Setelah nama lajur diambil, ia boleh disimpan dalam gelung menggunakan kursor. Kursor ialah lelaran yang membolehkan melintasi keputusan yang ditetapkan baris demi baris. Berikut ialah contoh:
DECLARE col_names CURSOR FOR SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_name' ORDER BY ordinal_position;
Kursor ini memilih nama lajur daripada jadual yang ditentukan, menyusunnya mengikut kedudukannya dan menamakan kursor col_names.
Melaksanakan Gelung
Untuk mengulangi nama lajur dan melaksanakan prosedur tersimpan, gunakan yang berikut gelung:
SET i = 1; the_loop: LOOP IF i > num_rows THEN CLOSE col_names; LEAVE the_loop; END IF; FETCH col_names INTO col_name; //do whatever else you need to do with the col name SET i = i + 1; END LOOP the_loop;
Gelung ini menggunakan pernyataan FETCH untuk mendapatkan semula nama lajur seterusnya ke dalam col_name pembolehubah. Di dalam gelung, sebarang tindakan yang perlu berdasarkan nama lajur boleh dilakukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Secara Dinamik Melalui Nama Lajur MySQL Menggunakan Prosedur Tersimpan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!