Oracle은 일반적인 관계형 데이터베이스 관리 시스템입니다. Oracle 저장 프로시저를 사용하면 데이터베이스 작업을 최적화하고 데이터베이스 성능을 향상시킬 수 있습니다. 이 기사에서는 매개변수를 사용하여 저장 프로시저를 정의하는 방법과 매개변수를 사용하여 저장 프로시저를 호출하는 방법을 포함하여 Oracle 저장 프로시저를 소개합니다.
1. 저장 프로시저 개요:
저장 프로시저는 프로그램 코드가 데이터베이스에 저장되고 생성된 후에 재사용할 수 있는 미리 컴파일된 데이터베이스 프로그램입니다. SQL 문과 달리 저장 프로시저는 더 빠르게 실행되고 재사용이 가능하며 특정 보안 및 유지 관리 기능을 갖추고 있습니다.
저장 프로시저는 Oracle 데이터베이스에서 다음과 같은 목적을 달성할 수 있습니다.
2. 매개변수를 사용하여 저장 프로시저 정의
Oracle 저장 프로시저를 정의할 때 매개변수는 입력 매개변수, 출력 매개변수 또는 입력 및 출력 매개변수일 수 있습니다.
다음은 매개변수를 사용하여 저장 프로시저를 정의하는 일반적인 형식입니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!