매개변수가 있는 Oracle 저장 프로시저

WBOY
풀어 주다: 2023-05-07 20:25:35
원래의
2814명이 탐색했습니다.

Oracle은 일반적인 관계형 데이터베이스 관리 시스템입니다. Oracle 저장 프로시저를 사용하면 데이터베이스 작업을 최적화하고 데이터베이스 성능을 향상시킬 수 있습니다. 이 기사에서는 매개변수를 사용하여 저장 프로시저를 정의하는 방법과 매개변수를 사용하여 저장 프로시저를 호출하는 방법을 포함하여 Oracle 저장 프로시저를 소개합니다.

1. 저장 프로시저 개요:

저장 프로시저는 프로그램 코드가 데이터베이스에 저장되고 생성된 후에 재사용할 수 있는 미리 컴파일된 데이터베이스 프로그램입니다. SQL 문과 달리 저장 프로시저는 더 빠르게 실행되고 재사용이 가능하며 특정 보안 및 유지 관리 기능을 갖추고 있습니다.

저장 프로시저는 Oracle 데이터베이스에서 다음과 같은 목적을 달성할 수 있습니다.

  1. 네트워크 전송 데이터를 줄이고 데이터 처리 효율성을 향상합니다.
  2. 트랜잭션 제어 등과 같은 복잡한 비즈니스 로직을 구현할 수 있습니다.
  3. 데이터 유지 관리가 더 쉽고 쉽습니다. 유지하고 관리하는 것입니다.

2. 매개변수를 사용하여 저장 프로시저 정의

Oracle 저장 프로시저를 정의할 때 매개변수는 입력 매개변수, 출력 매개변수 또는 입력 및 출력 매개변수일 수 있습니다.

  1. 입력 매개변수: 저장 프로시저 내에서 저장 프로시저에 데이터를 전달하는 데 사용됩니다.
  2. 출력 매개변수: 저장 프로시저 내에서 값이 할당되어 호출자에게 반환됩니다.
  3. 입력 및 출력 매개변수: 데이터를 전달하는 동시에 반환 값을 얻는 데 사용됩니다.

다음은 매개변수를 사용하여 저장 프로시저를 정의하는 일반적인 형식입니다.

CREATE [OR REPLACE] PROCEDURE 프로시저_name
(parameter1 [IN | OUT | IN OUT] type1 [,parameter2 [IN | OUT | IN OUT] type2 .. .])
IS | AS
[로컬 선언]
BEGIN
실행 가능 문
[EXCEPTION
예외 처리기]
END [procedure_name];

그 중 CREATE PROCEDURE 문은 저장 프로시저인 Procedure_name을 정의하는 데 사용됩니다. 는 저장 프로시저의 이름이고, IN, OUT, IN OUT은 매개변수 전송 방법이고, 유형은 매개변수의 데이터 유형이며, IS/AS 뒤에는 지역 변수 선언이 오고, BEGIN과 END 사이는 실행 가능한 명령문입니다. 저장 프로시저이고 EXCEPTION은 예외 처리 문입니다.

간단한 저장 프로시저를 예로 들어 보겠습니다.

CREATE PROCEDURE get_employee_salary
(
emp_id IN NUMBER,
급여 OUT NUMBER
)
IS
BEGIN
SELECT 급여 INTO 급여 FROM 직원 WHERE Employee_id;
END;

이 저장 프로시저에는 입력 매개변수 emp_id와 출력 매개변수 급여라는 두 개의 매개변수가 있습니다. 저장 프로시저의 기능은 직원 테이블의 emp_id를 기반으로 해당 급여 값을 쿼리하고 이를 출력 매개변수 급여에 할당하는 것입니다.

3. 매개변수를 사용하여 저장 프로시저 호출

저장 프로시저를 호출할 때 저장 프로시저 이름과 매개변수 목록을 제공해야 합니다. 매개변수 목록의 순서는 저장 프로시저를 정의할 때 매개변수가 나열되는 순서와 동일해야 합니다. 예를 들어 위의 get_employee_salary 저장 프로시저를 호출하려면 다음 SQL 문을 사용할 수 있습니다.

DECLARE
n_employee_id NUMBER := 100;
n_salary NUMBER;
BEGIN
get_employee_salary(n_employee_id, n_salary);
DBMS_OUTPUT .PUT_LINE(' ID가 ' || n_employee_id || '인 직원의 급여는 ' || n_salary);
END;

이 문은 n_employee_id 변수를 정의하며 값 100이 할당되고 다른 변수 n_salary에는 초기 값이 할당되지 않습니다. get_employee_salary 저장 프로시저를 사용하여 n_employee_id에 해당하는 급여 값을 쿼리하고 그 결과를 n_salary 변수에 할당한 후 최종적으로 결과를 출력합니다.

위는 Oracle 저장 프로시저의 매개변수 정의 및 호출 방법입니다. 저장 프로시저는 데이터베이스 작업의 효율성과 유연성을 크게 향상시킬 수 있습니다. 그러나 저장 프로시저를 디자인할 때는 저장 프로시저의 효율성과 유지 관리 용이성을 고려하고 필요한 비즈니스 논리를 완료하기 위해 저장 프로시저를 사용해야 하는지 여부를 고려해야 합니다.

위 내용은 매개변수가 있는 Oracle 저장 프로시저의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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