>  기사  >  데이터 베이스  >  저장 프로시저의 장점은 무엇입니까?

저장 프로시저의 장점은 무엇입니까?

WBOY
WBOY앞으로
2023-09-12 19:41:021748검색

저장 프로시저의 장점은 무엇입니까?

저장 프로시저의 장점은 다음과 같습니다.

  • 저장 프로시저를 컴파일하여 저장하기 때문에 프로시저를 호출할 때마다 응답이 빠릅니다.

  • 필요한 모든 SQL 문을 하나의 프로시저로 그룹화하고 즉시 실행할 수 있습니다.

  • 프로세스가 데이터베이스 서버에 저장되므로 클라이언트보다 빠릅니다. 이를 사용하면 모든 복잡한 쿼리를 수행할 수 있어 속도가 더 빨라집니다.

  • 프로시저를 사용하면 코드 중복을 피할 수 있으며 이를 통해 저장 함수 호출과 같은 추가 SQL 기능을 사용할 수 있습니다.

  • 저장 프로시저를 컴파일한 후에는 이를 다양한 애플리케이션에서 사용할 수 있습니다. 변경이 필요한 경우 애플리케이션 코드를 건드리지 않고 간단히 프로세스를 변경할 수 있습니다.

  • Java에서 PL/SQL 저장 프로시저를 호출할 수 있고, PL/SQL에서 Java 저장 프로시저를 호출할 수 있습니다.

Example

다음 설명과 함께 "Employees"라는 테이블을 생성한다고 가정합니다.

+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| Name     | varchar(255) | YES  |     | NULL    |       |
| Salary   | int(11)      | NO   |     | NULL    |       |
| Location | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+

아래 표시된 대로 Employees 테이블에 데이터를 삽입하는 myProcedure라는 프로시저가 있다고 가정합니다.

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 //

다음 JDBC 프로그램 호출 위의 Java 저장 프로시저.

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......

Employees 테이블의 내용을 확인하면 아래와 같이 새로 추가된 행을 확인할 수 있습니다.

+-----------+--------+----------------+
| Name      | Salary | Location       |
+-----------+--------+----------------+
| Amit      | 3000   | Hyderabad      |
| Kalyan    | 4000   | Vishakhapatnam |
+-----------+--------+----------------+

위 내용은 저장 프로시저의 장점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제