oracle sql은 저장 프로시저를 실행합니다.

王林
풀어 주다: 2023-05-11 21:57:35
원래의
2249명이 탐색했습니다.

Oracle 데이터베이스에서 저장 프로시저는 필요할 때 실행할 수 있는 미리 정의된 SQL 문 집합입니다. 언제든지 작성된 SQL 문과 달리 저장 프로시저는 더 효율적이고 데이터 액세스 중 네트워크 트래픽을 줄이고 시스템 성능을 향상시킬 수 있습니다.

실제 애플리케이션에서는 저장 프로시저를 호출하여 수행할 수 있는 복잡한 데이터베이스 작업을 수행해야 할 수도 있습니다. Oracle 데이터베이스는 저장 프로시저를 생성하기 위한 간단하고 명확한 구문을 제공합니다. 사용자는 필요에 따라 매개 변수 및 반환 값과 같은 정보를 사용자 정의할 수 있으며 프로세스 제어 문, 예외 처리, 트랜잭션 처리 및 기타 기능을 설정할 수도 있습니다.

이 기사에서는 간단한 예를 사용하여 Oracle 데이터베이스에서 저장 프로시저를 실행하는 방법을 소개합니다.

  1. 저장 프로시저 생성

오라클 데이터베이스에서 저장 프로시저를 생성하려면 PL/SQL 언어를 사용해야 합니다. PL/SQL 언어는 저장 프로시저, 트리거, 함수 등의 프로세스를 위해 Oracle이 특별히 작성한 언어입니다. 다음은 저장 프로시저를 생성하기 위한 기본 구문입니다.

CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
IS
    [declaration_section]
BEGIN
    executable_section
[EXCEPTION
    exception_section]
END [procedure_name];
로그인 후 복사

설명:

  • CREATE [OR REPLACE]: 저장 프로시저를 생성합니다.
  • procedure_name: 생성해야 하는 저장 프로시저의 이름입니다.
  • parameter_name: IN 유형, OUT 유형 또는 IN OUT 유형일 수 있는 저장 프로시저의 매개변수 이름입니다. IN은 입력 매개변수를 나타내고 OUT은 출력 매개변수를 나타냅니다.
  • type: 매개변수의 데이터 유형입니다.
  • declaration_section: 변수, 커서, 상수 등을 선언합니다.
  • executable_section: 저장 프로시저의 실제 실행 부분입니다.
  • Exception_section: 예외 처리 코드 블록입니다.

다음은 지정된 사원번호의 정보를 조회하는 저장 프로시저를 생성하는 간단한 예입니다.

CREATE OR REPLACE PROCEDURE get_employee_info (p_empno IN NUMBER)
IS
    v_ename employees.ename%TYPE;
    v_job employees.job%TYPE;
    v_salary employees.sal%TYPE;
BEGIN
    SELECT ename, job, sal INTO v_ename, v_job, v_salary FROM employees WHERE empno = p_empno;
    DBMS_OUTPUT.PUT_LINE('Employee Name: ' || v_ename);
    DBMS_OUTPUT.PUT_LINE('Job: ' || v_job);
    DBMS_OUTPUT.PUT_LINE('Salary: ' || v_salary);
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        DBMS_OUTPUT.PUT_LINE('Employee not found');
END;
로그인 후 복사
  1. 저장 프로시저 실행

저장 프로시저를 생성한 후 다양한 방법으로 실행할 수 있습니다. 다음은 몇 가지 대체 방법입니다.

2.1 PL/SQL 개발 도구를 사용한 실행

Oracle에서 제공하는 PL/SQL 개발 도구를 사용하여 저장 프로시저를 실행할 수 있습니다. 도구를 연 후 실행해야 하는 데이터베이스 인스턴스에 연결하고 생성된 저장 프로시저를 찾아 마우스 오른쪽 버튼을 클릭한 후 "프로시저 실행"을 선택하고 필요한 매개 변수를 입력하여 저장 프로시저를 실행합니다.

2.2 SQL*Plus를 사용한 실행

Oracle에서 제공하는 명령줄 도구인 SQL*Plus를 사용하여 저장 프로시저를 실행할 수도 있습니다. 실행해야 하는 데이터베이스 인스턴스에 접속한 후 다음 명령어를 실행하여 저장 프로시저를 실행합니다.

EXEC procedure_name (parameter_value);
로그인 후 복사

예를 들어 위에서 생성한 저장 프로시저를 실행하려면 다음 명령어를 사용하면 됩니다.

EXEC get_employee_info (100);
로그인 후 복사

2.3 Java 프로그램 사용 toexecute

데이터베이스의 비즈니스 로직이 더 복잡해지면 Java 프로그램을 통해 저장 프로시저를 호출하여 더욱 발전된 비즈니스 로직을 구현할 수 있습니다. 다음은 위에서 생성한 저장 프로시저를 호출하는 간단한 Java 프로그램입니다.

import java.sql.*;

public class ExecuteProcedure {
    public static void main(String[] args) {
        String url = "jdbc:oracle:thin:@localhost:1521:orcl";
        String user = "username";
        String password = "password";
        try {
            Connection conn = DriverManager.getConnection(url, user, password);
            CallableStatement cst = conn.prepareCall("{call get_employee_info(?)}");
            cst.setInt(1, 100);
            cst.execute();
            conn.close();
        } catch(SQLException e) {
            System.out.println(e.getMessage());
        }
    }
}
로그인 후 복사

프로그램은 먼저 데이터베이스에 연결한 다음 Java의 CallableStatement 클래스를 사용하여 저장 프로시저를 호출합니다. 저장 프로시저를 호출하기 전에 매개변수 값을 설정해야 합니다. 저장 프로시저를 실행하면 프로그램은 직원 번호 100에 대한 관련 정보를 출력합니다.

요약

위는 Oracle 데이터베이스에서 저장 프로시저를 실행하는 기본 소개입니다. 저장 프로시저는 데이터베이스 성능 최적화를 촉진하고 개발 효율성을 어느 정도 향상시킬 수 있는 강력하고 효율적인 도구입니다. 동시에 데이터 처리를 위해 저장 프로시저를 더 잘 활용하려면 사용자가 PL/SQL 언어를 마스터해야 합니다.

위 내용은 oracle sql은 저장 프로시저를 실행합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!