Heim  >  Artikel  >  Datenbank  >  Welche Vorteile haben gespeicherte Prozeduren?

Welche Vorteile haben gespeicherte Prozeduren?

WBOY
WBOYnach vorne
2023-09-12 19:41:021746Durchsuche

Welche Vorteile haben gespeicherte Prozeduren?

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.

Beispiel

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();
   }
}

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen