Die folgenden Vorteile gespeicherter Prozeduren sind:
Da gespeicherte Prozeduren kompiliert und gespeichert werden, ist die Reaktion bei jedem Aufruf der Prozedur schnell.
Sie können alle benötigten SQL-Anweisungen in einer Prozedur zusammenfassen und sofort ausführen.
Da der Prozess auf dem Datenbankserver gespeichert wird, ist dieser schneller als der Client. Sie können damit alle komplexen Abfragen durchführen, was schneller geht.
Mit Prozeduren vermeiden Sie die Duplizierung von Code und können damit zusätzliche SQL-Funktionen wie den Aufruf gespeicherter Funktionen nutzen.
Nachdem Sie eine gespeicherte Prozedur kompiliert haben, können Sie sie in einer beliebigen Anzahl von Anwendungen verwenden. Wenn Änderungen erforderlich sind, können Sie den Prozess einfach ändern, ohne den Anwendungscode zu berühren.
Sie können gespeicherte PL/SQL-Prozeduren von Java aus aufrufen, und Sie können gespeicherte Java-Prozeduren von PL/SQL aus aufrufen.
Angenommen, wir erstellen eine Tabelle namens „Employees“ mit der folgenden Beschreibung:
+----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | Salary | int(11) | NO | | NULL | | | Location | varchar(255) | YES | | NULL | | +----------+--------------+------+-----+---------+-------+
Angenommen, wir haben eine Prozedur namens myProcedure, die Daten wie unten gezeigt in die Employees-Tabelle einfügt:
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 //
Die folgenden JDBC-Programmaufrufe die obige gespeicherte Java-Prozedur.
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(); } }
Connection established......
Wenn Sie den Inhalt der Mitarbeitertabelle überprüfen, finden Sie die neu hinzugefügten Zeilen wie unten gezeigt:
+-----------+--------+----------------+ | Name | Salary | Location | +-----------+--------+----------------+ | Amit | 3000 | Hyderabad | | Kalyan | 4000 | Vishakhapatnam | +-----------+--------+----------------+
Das obige ist der detaillierte Inhalt vonWelche Vorteile haben gespeicherte Prozeduren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!