Heim > Datenbank > MySQL-Tutorial > Hauptteil

Welche Vorteile haben gespeicherte Prozeduren?

WBOY
Freigeben: 2023-09-12 19:41:02
nach vorne
1746 Leute haben es durchsucht

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    |       |
+----------+--------------+------+-----+---------+-------+
Nach dem Login kopieren

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 //
Nach dem Login kopieren

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();
   }
}
Nach dem Login kopieren

Ausgabe

Connection established......
Nach dem Login kopieren

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 |
+-----------+--------+----------------+
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage