Rumah > pangkalan data > tutorial mysql > mysql mengembalikan prosedur tersimpan

mysql mengembalikan prosedur tersimpan

PHPz
Lepaskan: 2023-05-08 19:28:36
asal
1020 orang telah melayarinya

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka dan berkuasa. Ia menyokong prosedur tersimpan, yang merupakan blok kod SQL yang telah disusun sebelumnya yang melaksanakan beberapa fungsi atau tugas tertentu dalam pangkalan data. Prosedur tersimpan boleh mengurangkan kod pendua, meningkatkan kecekapan operasi pangkalan data, dan memastikan keselamatan.

Artikel ini akan memberi tumpuan kepada penggunaan prosedur tersimpan dan pemprosesan nilai pulangan dalam MySQL.

1. Penciptaan dan penggunaan prosedur tersimpan MySQL
Mencipta prosedur tersimpan MySQL termasuk langkah berikut:

  1. Tentukan nama dan parameter prosedur tersimpan
    Pelaksanaan khusus kaedah ialah:
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE)
Salin selepas log masuk

Antaranya, PROSEDUR ialah kata kunci untuk mencipta prosedur tersimpan, procedure_name ialah nama prosedur yang disimpan, IN parameter_name ialah nama parameter input, dan DATA_TYPE ialah data. jenis parameter input.

  1. Nyatakan pernyataan prosedur tersimpan
    Kaedah pelaksanaan khusus ialah:
BEGIN
    -- 存储过程语句
END
Salin selepas log masuk

Antaranya, BEGIN dan END ialah kata kunci untuk menentukan pernyataan prosedur tersimpan. Penyataan SQL berbilang boleh ditulis antara BEGIN dan END untuk melaksanakan fungsi khusus prosedur yang disimpan.

  1. Kembalikan hasil
    Dalam prosedur tersimpan, anda boleh menggunakan pernyataan SELECT untuk mengembalikan hasil. Seperti yang ditunjukkan di bawah:
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE)
BEGIN
    SELECT * FROM table_name WHERE column_name = parameter_name;
END
Salin selepas log masuk

Antaranya, * ialah aksara kad bebas, yang bermaksud mengembalikan data semua lajur ialah nama_jadual ialah nama lajur;

2. Memanggil prosedur tersimpan MySQL
Selepas mencipta prosedur tersimpan MySQL, anda boleh menggunakan pernyataan CALL untuk memanggil prosedur tersimpan. Kaedah pelaksanaan khusus ialah:

CALL procedure_name(parameter_value);
Salin selepas log masuk

Antaranya, CALL ialah kata kunci untuk memanggil procedure_name yang disimpan ialah nama parameter_value yang disimpan ialah nilai parameter yang dihantar kepada prosedur tersimpan;

3. Memproses nilai pulangan prosedur tersimpan MySQL
Prosedur tersimpan MySQL boleh mengembalikan dua jenis nilai: nilai tunggal dan set hasil. Untuk satu nilai, anda boleh menggunakan parameter OUT untuk mengembalikan nilainya dan untuk set hasil, anda boleh menggunakan CURSOR.

  1. Kembalikan nilai tunggal melalui parameter OUT
    Kaedah pelaksanaan khusus adalah untuk mengisytiharkan parameter OUT dalam kenyataan CREATE PROCEDURE, seperti ditunjukkan di bawah:
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE, OUT out_parameter_name DATA_TYPE)
Salin selepas log masuk

di mana OUT ialah penyataan Kata kunci parameter OUT; out_parameter_name ialah nama parameter output, dan DATA_TYPE ialah jenis data parameter output.

Dalam pernyataan prosedur tersimpan, anda boleh menggunakan pernyataan SET untuk menetapkan nilai parameter OUT, seperti yang ditunjukkan di bawah:

CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE, OUT out_parameter_name DATA_TYPE)
BEGIN
    SET out_parameter_name = (SELECT COUNT(*) FROM table_name WHERE column_name = parameter_name);
END
Salin selepas log masuk

Antaranya, COUNT(*) ialah fungsi agregat yang mengembalikan jumlah bilangan rekod yang memenuhi syarat .

Apabila memanggil prosedur tersimpan, anda boleh menggunakan pernyataan SELECT untuk mendapatkan semula nilai parameter OUT, seperti yang ditunjukkan di bawah:

CALL procedure_name(parameter_value, @out_parameter_value);
SELECT @out_parameter_value;
Salin selepas log masuk

Antaranya, @out_parameter_value ialah pembolehubah pengguna yang digunakan untuk menyimpan nilai parameter OUT.

  1. Kembalikan set hasil melalui CURSOR
    KURSOR ialah jenis data yang digunakan untuk melintasi set hasil. Dalam prosedur tersimpan MySQL, anda boleh menggunakan kata kunci DECLARE, OPEN, FETCH, CLOSE dan END untuk mentakrifkan CURSOR dan set hasil.

Kaedah pelaksanaan yang khusus ialah:

CREATE PROCEDURE procedure_name ()
BEGIN
    DECLARE cursor_name CURSOR FOR SELECT column_name FROM table_name;
    OPEN cursor_name;
    FETCH cursor_name INTO variable_name;
    WHILE @@FETCH_STATUS = 0 DO
        -- 处理结果集
        FETCH cursor_name INTO variable_name;
    END WHILE;
    CLOSE cursor_name;
END
Salin selepas log masuk

Antaranya, DECLARE ialah kata kunci untuk mengisytiharkan CURSOR FOR SELECT column_name FROM table_name ialah pernyataan pertanyaan set hasil OPEN ialah kata kunci untuk buka CURSOR; FETCH ialah kata kunci untuk mendapatkan baris data seterusnya dalam CURSOR; MANAKALA @@FETCH_STATUS = 0 ialah syarat untuk menyemak sama ada keseluruhan set hasil telah dilalui ialah kata kunci untuk menutup CURSOR.

Apabila memanggil prosedur tersimpan, anda boleh menggunakan pernyataan SELECT untuk mendapatkan semula data dalam CURSOR, seperti yang ditunjukkan di bawah:

CALL procedure_name();
SELECT column_name FROM table_name WHERE condition;
Salin selepas log masuk

4. Langkah berjaga-jaga untuk prosedur tersimpan MySQL
Dalam penggunaan Prosedur tersimpan MySQL , anda perlu memberi perhatian kepada perkara berikut:

  1. Nama pembolehubah dalam prosedur tersimpan seharusnya tidak mempunyai nama yang sama dengan kata kunci.
  2. Anda boleh menggunakan pernyataan SET dalam prosedur tersimpan untuk menetapkan nilai pembolehubah.
  3. Koma bertitik boleh digunakan untuk memisahkan berbilang pernyataan dalam prosedur tersimpan.
  4. Jangan mempunyai nama parameter yang sama dalam prosedur tersimpan dan nama lajur dalam jadual data, jika tidak, kesamaran mungkin berlaku.
  5. Berhati-hati untuk menambah kurungan () apabila menggunakan prosedur tersimpan, jika tidak, ralat sintaks mungkin berlaku.

Ringkasan:
Prosedur tersimpan MySQL ialah blok kod SQL pra-disusun yang boleh melaksanakan beberapa fungsi atau tugas tertentu dalam pangkalan data. Prosedur tersimpan boleh mengurangkan kod pendua, meningkatkan kecekapan operasi pangkalan data, dan memastikan keselamatan. Artikel ini memperkenalkan penciptaan, panggilan dan pemprosesan nilai balik prosedur tersimpan MySQL, serta perkara yang memerlukan perhatian apabila menggunakan prosedur tersimpan. Melalui penggunaan fleksibel prosedur tersimpan MySQL, pembangun boleh membantu pembangun menyelesaikan operasi pangkalan data dengan lebih cekap.

Atas ialah kandungan terperinci mysql mengembalikan prosedur tersimpan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan