Berikut adalah kelebihan prosedur tersimpan:
Memandangkan prosedur tersimpan disusun dan disimpan, setiap kali prosedur dipanggil, tindak balas adalah pantas.
Anda boleh mengumpulkan semua pernyataan SQL yang diperlukan dalam satu prosedur dan melaksanakannya dengan segera.
Memandangkan proses disimpan pada pelayan pangkalan data ini lebih cepat daripada pelanggan. Anda boleh melakukan semua pertanyaan kompleks menggunakannya, yang akan menjadi lebih pantas.
Menggunakan prosedur anda mengelakkan pertindihan kod dan dengan ini anda boleh menggunakan ciri SQL tambahan seperti memanggil fungsi yang disimpan.
Selepas anda menyusun prosedur tersimpan, anda boleh menggunakannya dalam sebarang bilangan aplikasi. Jika sebarang perubahan diperlukan, anda boleh menukar proses tanpa menyentuh kod aplikasi.
Anda boleh memanggil prosedur tersimpan PL/SQL dari Java, dan anda boleh memanggil prosedur tersimpan Java dari PL/SQL. . prosedur tersimpan Java di atas.
+----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | Salary | int(11) | NO | | NULL | | | Location | varchar(255) | YES | | NULL | | +----------+--------------+------+-----+---------+-------+
Create procedure myProcedure (IN name VARCHAR(30), IN sal INT, IN loc VARCHAR(45)) -> BEGIN -> INSERT INTO Employees(Name, Salary, Location) VALUES (name, sal, loc); -> END //
import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Example { public static void main(String args[]) throws SQLException { //Registering the Driver DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //Getting the connection String mysqlUrl = "jdbc:mysql://localhost/testdb"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("Connection established......"); //Preparing a CallableStatement CallableStatement cstmt = con.prepareCall("{call myProcedure(?, ?, ?)}"); cstmt.setString(1, "Amit"); cstmt.setInt(2, 3000); cstmt.setString(3, "Hyderabad"); cstmt.execute(); cstmt.setString(1, "Kalyan"); cstmt.setInt(2, 4000); cstmt.setString(3, "Vishakhapatnam"); cstmt.execute(); } }
Atas ialah kandungan terperinci Apakah kelebihan prosedur tersimpan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!