Rumah > Artikel > pangkalan data > Apakah sintaks prosedur tersimpan mysql?
Dalam mysql, anda boleh menggunakan pernyataan "CREATE PROCEDURE" untuk mencipta prosedur tersimpan Sintaks ialah "CREATE PROCEDURE process name process parameter body process format [MASUK|KELUAR|KELUAR] jenis nama parameter" .
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
Pernyataan SQL perlu disusun dahulu dan kemudian dilaksanakan, dan prosedur tersimpan (Prosedur Tersimpan) ialah satu set pernyataan SQL untuk melengkapkan fungsi tertentu disusun dan disimpan dalam Dalam pangkalan data, pengguna memanggil dan melaksanakan prosedur tersimpan dengan menyatakan namanya dan memberikan parameter (jika prosedur tersimpan mempunyai parameter).
Prosedur tersimpan ialah fungsi boleh atur cara yang dicipta dan disimpan dalam pangkalan data dan boleh terdiri daripada pernyataan SQL dan struktur kawalan. Prosedur tersimpan berguna apabila anda ingin melaksanakan fungsi yang sama pada aplikasi atau platform yang berbeza, atau apabila anda ingin merangkum fungsi tertentu. Prosedur tersimpan dalam pangkalan data boleh dilihat sebagai simulasi pendekatan berorientasikan objek dalam pengaturcaraan, yang membolehkan kawalan ke atas cara data diakses.
Kelebihan prosedur tersimpan:
(1 Meningkatkan fungsi dan fleksibiliti bahasa SQL: prosedur tersimpan boleh ditulis dengan penyataan kawalan dan mempunyai fleksibiliti yang kuat , boleh). penghakiman kompleks yang lengkap dan operasi yang lebih kompleks.
(2) Pengaturcaraan komponen standard: Selepas prosedur tersimpan dibuat, ia boleh dipanggil beberapa kali dalam atur cara tanpa perlu menulis semula pernyataan SQL prosedur tersimpan. Dan profesional pangkalan data boleh mengubah suai prosedur tersimpan pada bila-bila masa tanpa menjejaskan kod sumber aplikasi.
(3). Kelajuan pelaksanaan yang lebih pantas: Jika operasi mengandungi sejumlah besar kod Transaksi-SQL atau dilaksanakan beberapa kali, prosedur yang disimpan akan dilaksanakan dengan lebih pantas daripada pemprosesan kelompok. Kerana prosedur tersimpan disusun terlebih dahulu. Apabila prosedur tersimpan dijalankan buat kali pertama, pertanyaan dianalisis dan dioptimumkan oleh pengoptimum dan pelan pelaksanaan akhirnya disimpan dalam jadual sistem. Penyataan Transaction-SQL kelompok mesti disusun dan dioptimumkan setiap kali ia dijalankan, dan kelajuannya agak perlahan.
(4) Mengurangkan trafik rangkaian: Untuk operasi pada objek pangkalan data yang sama (seperti pertanyaan, pengubahsuaian), jika pernyataan Transaksi-SQL yang terlibat dalam operasi ini disusun ke dalam prosedur tersimpan, maka apabila transaksi itu dilakukan pada komputer klien Apabila prosedur tersimpan dipanggil, hanya pernyataan panggilan dihantar melalui rangkaian, sekali gus mengurangkan trafik rangkaian dan mengurangkan beban rangkaian.
(5) Gunakan sepenuhnya ia sebagai mekanisme keselamatan: Dengan mengehadkan kebenaran untuk melaksanakan proses tersimpan tertentu, adalah mungkin untuk mengehadkan kebenaran akses data yang sepadan dan mengelakkan pengguna yang tidak dibenarkan daripada mengakses akses data, memastikan keselamatan data.
Prosedur tersimpan MySQL
Prosedur tersimpan ialah fungsi penting pangkalan data MySQL 5.0 tidak menyokong prosedur tersimpan sebelum ini, yang telah mengurangkan penggunaan MySQL. Nasib baik, MySQL 5.0 mula menyokong prosedur tersimpan, yang boleh meningkatkan kelajuan pemprosesan pangkalan data dan juga meningkatkan fleksibiliti pengaturcaraan pangkalan data.
Penciptaan prosedur tersimpan MySQL
Sintaks
CREATE PROCEDURE 过程名([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT|INOUT] 参数名 数据类型…]]) [特性 ...] 过程体
DELIMITER // CREATE PROCEDURE myproc(OUT s int) BEGIN SELECT COUNT(*) INTO s FROM students; END // DELIMITER ;
Pembatas
MySQL lalai kepada ";" pembatas. Jika tiada pembatas diisytiharkan, pengkompil akan menganggap prosedur tersimpan sebagai pernyataan SQL, jadi proses kompilasi akan melaporkan ralat Oleh itu, anda mesti mengisytiharkan pembatas segmen semasa dengan "DELIMITER //" terlebih dahulu untuk membiarkan pengkompil memisahkan dua Kandungan antara "//" dianggap sebagai kod prosedur yang disimpan, dan kod ini tidak akan dilaksanakan "DELIMITER;" bermaksud untuk memulihkan pembatas.
Parameter
Prosedur yang disimpan mungkin mempunyai parameter input, output, input dan output mengikut keperluan Jika terdapat berbilang parameter, gunakan "," untuk memisahkannya. Parameter prosedur tersimpan MySQL digunakan dalam definisi prosedur tersimpan Terdapat tiga jenis parameter, IN, OUT, INOUT:
Nilai parameter IN mesti dinyatakan semasa memanggil prosedur tersimpan parameter dalam prosedur tersimpan Nilai tidak boleh dikembalikan dan merupakan nilai lalai
OUT: Nilai boleh ditukar di dalam prosedur tersimpan dan boleh dikembalikan
INOUT: Ditentukan semasa memanggil, dan boleh ditukar dan dikembalikan
Badan proses
Permulaan dan akhir badan proses ditandakan dengan MULA dan TAMAT.
Pembelajaran yang disyorkan: tutorial video mysql
Atas ialah kandungan terperinci Apakah sintaks prosedur tersimpan mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!