>  기사  >  데이터 베이스  >  Oracle 저장 프로시저를 호출하는 방법

Oracle 저장 프로시저를 호출하는 방법

PHPz
PHPz원래의
2023-04-18 09:06:366475검색

Oracle 저장 프로시저는 실행할 SQL 문 집합이 포함된 사전 컴파일된 PL/SQL 코드 블록입니다. 저장 프로시저를 사용하여 데이터베이스의 데이터를 처리하거나 조작할 수 있으며, 비즈니스 논리 또는 애플리케이션 기능을 구현하는 데 사용할 수도 있습니다.

오라클 데이터베이스에서는 저장 프로시저 호출을 다음과 같은 방법으로 구현할 수 있습니다.

  1. SQL 명령줄 도구 사용

SQL 명령줄 도구(예: SQL*Plus)를 사용하여 CALL 문을 통해 저장 프로시저를 호출하세요. CALL 문의 구문 형식은

CALL 存储过程名(参数1, 参数2, ...);

입니다. 그 중 저장 프로시저 이름은 호출할 저장 프로시저의 이름을 의미하며, 매개변수 1, 매개변수 2 등은 저장 프로시저에 필요한 입력 매개변수입니다. 저장 프로시저에 입력 매개변수가 없으면 매개변수 목록을 생략할 수 있습니다.

예를 들어 "my_proc"이라는 저장 프로시저를 호출하려면 두 개의 입력 매개변수가 필요하며 해당 구문 형식은 다음과 같습니다.

CALL my_proc('参数1值', '参数2值');
  1. PL/SQL 블록 사용

PL/SQL 블록을 사용하여 저장 프로시저를 호출할 수도 있습니다. PL/SQL 블록은 다른 프로그래밍 언어의 함수 또는 서브루틴과 유사한 PL/SQL 코드를 작성하고 실행하는 방법입니다. PL/SQL 블록 내에서 BEGIN 및 END 블록을 사용하여 실행할 코드와 관련 입력 및 출력 매개변수를 정의할 수 있습니다.

예를 들어, 다음은 "my_proc"이라는 저장 프로시저를 호출하기 위한 간단한 PL/SQL 블록입니다.

DECLARE
    参数1 VARCHAR2(50) := '参数1值';
    参数2 VARCHAR2(50) := '参数2值';
BEGIN
    my_proc(参数1, 参数2);
END;

그 중 DECLARE 키워드는 변수 선언에 사용되며 매개변수 1과 매개변수 2는 my_proc의 변수 이름입니다. 입력 매개변수인 :=는 변수에 초기값을 할당하는 데 사용되며, my_proc는 호출할 저장 프로시저의 이름입니다.

  1. Java 프로그램 사용

Java 프로그램에서는 JDBC API를 사용하여 Oracle 저장 프로시저를 호출할 수 있습니다. JDBC는 저장 프로시저를 호출하기 위한 CallableStatement 클래스를 제공합니다. 저장 프로시저의 매개변수를 CallableStatement 객체에 전달하고 실행 중에 저장 프로시저와 함께 호출할 수 있습니다.

예를 들어, 다음은 저장 프로시저를 호출하고 결과를 인쇄하는 샘플 프로그램입니다.

import java.sql.*;

public class CallStoredProcedure {
    public static void main(String[] args) throws Exception {
        String driverName = "oracle.jdbc.driver.OracleDriver";
        String connectionString = "jdbc:oracle:thin:@//localhost:1521/orcl";
        String userName = "USERNAME";
        String password = "PASSWORD";
        String storedProcedure = "my_proc";
        String param1 = "参数1值";
        String param2 = "参数2值";
          
        Class.forName(driverName);
        Connection con = DriverManager.getConnection(connectionString, userName, password);
      
        CallableStatement cst = con.prepareCall("{call " + storedProcedure + "(?,?)}");
        cst.setString(1, param1);
        cst.setString(2, param2);
        cst.execute();
      
        ResultSet rs = cst.getResultSet();
        while (rs.next()) {
            // 处理结果集
        }
      
        cst.close();
        con.close();
    }
}

그 중 DriverName과 ConnectionString은 JDBC가 Oracle 데이터베이스에 연결할 때 필요한 드라이버와 연결 문자열이고, userName과 비밀번호는 데이터베이스 로그인 이름과 비밀번호. StoredProcedure는 호출할 저장 프로시저의 이름이고, param1과 param2는 입력 매개변수의 값입니다.

간단히 말하면 Oracle 저장 프로시저는 SQL 명령줄 도구, PL/SQL 블록, Java 프로그램 등 다양한 방법으로 호출할 수 있습니다. 실제 응용 프로그램에서는 데이터 처리 및 논리 구현 작업을 더 잘 완료하기 위해 특정 요구 사항과 환경에 따라 저장 프로시저를 호출하는 적절한 방법을 선택할 수 있습니다.

위 내용은 Oracle 저장 프로시저를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.