Rumah  >  Artikel  >  pangkalan data  >  Terokai output prosedur tersimpan MySQL

Terokai output prosedur tersimpan MySQL

PHPz
PHPzasal
2023-04-21 11:23:541052semak imbas

Dalam penggunaan pangkalan data MySQL, konsep prosedur tersimpan (Stored Procedure) secara beransur-ansur menjadi penting. Prosedur tersimpan ialah sekeping kod SQL tersusun awal yang membolehkan pengguna menyesuaikan fungsi tertentu dan mengoptimumkan prestasi dan keselamatan pangkalan data. Prosedur tersimpan boleh menerima parameter dan nilai pulangan, dan pangkalan data operasi timbunan memberikan banyak kemudahan. Artikel ini terutamanya membincangkan output prosedur tersimpan MySQL.

Output prosedur tersimpan

Output ialah fungsi yang sangat penting bagi prosedur tersimpan. Melalui output prosedur tersimpan, hasil pelaksanaan prosedur tersimpan boleh dicerminkan dalam antara muka pengguna yang memanggil prosedur tersimpan Jika tidak, kesan sebenar prosedur tersimpan tidak dapat dilihat. Dalam prosedur tersimpan MySQL, terdapat banyak jenis kandungan output, termasuk rentetan, nombor, tarikh, dll. Terdapat beberapa cara untuk mengeluarkan prosedur tersimpan, yang akan diperkenalkan secara berasingan di bawah.

Gunakan penyataan SELECT untuk mengeluarkan

Dalam prosedur tersimpan, cara paling mudah untuk mengeluarkan adalah mengeluarkan hasil yang ditetapkan melalui pernyataan SELECT. Dalam prosedur tersimpan, anda boleh menggunakan pernyataan SELECT untuk mendapatkan set hasil Sebelum fungsi kembali, tetapkan set hasil kepada parameter output prosedur tersimpan dan dapatkan semula keputusan apabila prosedur tersimpan dipanggil. Untuk cara menggunakan pernyataan SELECT untuk mengeluarkan set hasil dalam prosedur tersimpan, contohnya adalah seperti berikut:

DELIMITER //
CREATE PROCEDURE proc_out(IN param1 INT, OUT out_param VARCHAR(20) )
BERMULA

DECLARE result VARCHAR(100);
--执行查询
SELECT result INTO out_param FROM tbl_name WHERE id = param1;

END //
DELIMITER ;

Dalam prosedur tersimpan ini, pernyataan SELECT digunakan untuk menanyakan data yang sepadan dengan id dalam jadual tbl_name , dan keputusan pertanyaan disimpan dalam pembolehubah hasil, dan akhirnya memberikan hasil kepada parameter output out_param. Melalui prosedur tersimpan ini, nilai out_param boleh diperolehi dalam antara muka program.

Gunakan pernyataan SET untuk mengeluarkan

Selain pernyataan SELECT, anda juga boleh menggunakan pernyataan SET untuk menyimpan keputusan dalam pembolehubah dan menetapkan pembolehubah sebagai parameter output. Ini adalah lebih mudah cara. Kaedah pelaksanaan adalah seperti berikut:

DELIMITER //
BUAT PROSEDUR proc_out_2(IN param1 INT, OUT out_param VARCHAR(20))
BERMULA

DECLARE var VARCHAR(100);
--设置变量
SET var = (SELECT name FROM tbl_name WHERE id = param1);
--将变量赋值给输出参数
SET out_param = var;

END //
DELIMITER ;

Dalam prosedur tersimpan ini, mula-mula gunakan pernyataan SET untuk menyimpan data yang ditanya ke dalam var pembolehubah, dan kemudian tetapkan var kepada parameter output out_param. Akhir sekali, dapatkan nilai out_param dalam antara muka program.

Gunakan kursor CURSOR untuk mengeluarkan

Dalam prosedur tersimpan MySQL, anda juga boleh menggunakan kursor CURSOR untuk menyimpan data dan mendapatkan hasil keluaran prosedur tersimpan melalui CALL. Kaedah khusus adalah seperti berikut:

DELIMITER //
BUAT PROSEDUR proc_out_3(IN param1 INT, OUT out_param VARCHAR(20))
BERMULA

DECLARE done INT DEFAULT FALSE;
DECLARE var VARCHAR(100);
DECLARE cur1 CURSOR FOR SELECT name FROM tbl_name WHERE id = param1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
--打开游标
OPEN cur1;
get_result: LOOP
    --获取游标中的数据
    FETCH cur1 INTO var;
    --结束标志
    IF done THEN
        LEAVE get_result;
    END IF;
END LOOP get_result;
--关闭游标
CLOSE cur1;
--将游标中的数据赋值给输出参数
SET out_param = var;

END //
DELIMITER ;

Dalam prosedur tersimpan ini, kursor digunakan untuk melintasi set hasil yang ditemui, keputusan disimpan dalam pembolehubah var secara bergilir-gilir, dan akhirnya nilai var diberikan kepada parameter output out_param. Akhirnya, prosedur tersimpan dipanggil dalam antara muka program untuk mendapatkan out_param.

Ringkasan

Melalui tiga kaedah output di atas, anda boleh menguasai output dan aplikasi prosedur tersimpan MySQL dengan lebih baik. Dalam penggunaan sebenar, kaedah output yang berbeza boleh dipilih mengikut keperluan yang berbeza untuk merealisasikan fungsi output prosedur yang disimpan. Menguasai kaedah keluaran prosedur tersimpan adalah sangat penting untuk meningkatkan prestasi dan keselamatan pangkalan data MySQL.

Atas ialah kandungan terperinci Terokai output prosedur tersimpan MySQL. 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