Oracle 데이터베이스는 저장 프로시저가 가장 중요한 기능 중 하나인 강력한 관계형 데이터베이스 관리 시스템입니다. Oracle에서 저장 프로시저는 데이터베이스의 특정 작업을 완료하기 위해 작성된 SQL 문 집합이며 일반적으로 이름으로 식별됩니다. 이번 글에서는 Oracle에서 저장 프로시저를 호출하는 방법을 살펴보겠습니다.
Oracle에서 저장 프로시저는 일반적으로 데이터베이스에서 데이터 쿼리, 데이터 업데이트, 데이터 삭제, 데이터 삽입 등과 같은 특정 작업을 수행하는 데 사용됩니다. 이러한 저장 프로시저는 SQL 문을 통해 생성되어 데이터베이스에 저장되고 필요할 때 호출되어 실행될 수 있습니다.
저장 프로시저를 호출하는 방법에는 세 가지가 있습니다. 즉, SQL 문에서 직접 호출하거나, PL/SQL 블록을 사용하거나, Oracle API를 사용하는 것입니다.
SQL 문에서 직접 저장 프로시저를 호출하는 것은 가장 간단한 방법 중 하나입니다. 이는 다음 구문을 사용하여 달성할 수 있습니다.
EXECUTE procedure_name(param1, param2, ..., paramN);
이 구문에서 Procedure_name은 호출할 저장 프로시저의 이름이고 param1, param2, ..., paramN은 해당 매개변수 목록입니다.
예를 들어, 직원 ID를 매개변수로 받아들이고 직원 이름을 인쇄하는 print_employee_name이라는 저장 프로시저가 있는 경우 다음 명령을 사용하여 이를 호출할 수 있습니다.
EXECUTE print_employee_name(1234);
이것은 저장 프로시저 print_employee_name을 호출하고 1234가 됩니다. 매개변수로 전달됩니다.
PL/SQL은 Oracle의 일부인 절차적 프로그래밍 언어입니다. PL/SQL은 저장 프로시저, 함수, 트리거, 핸들러 등을 작성하는 데 사용되는 언어입니다. PL/SQL 블록에 저장 프로시저 호출 문을 작성하면 더 많은 언어 기능과 명령어를 사용할 수 있습니다.
다음은 PL/SQL 블록을 사용하여 저장 프로시저를 호출하는 구문입니다.
DECLARE -- Declare variable declarations and assign default values variable_name datatype := default_value; BEGIN -- Execute code and actions procedure_name(param1, param2, ..., paramN); END;
이 구문에서 Variable_name은 선언에 사용된 변수 이름을 나타내고 datatype은 변수의 데이터 유형입니다. default_value는 이 변수의 기본값입니다. 저장 프로시저를 호출하려면 Procedure_name, param1 및 param2와 같은 매개변수가 필요합니다.
예를 들어, 직원 ID와 급여 매개변수를 받아들이고 해당 직원의 총 급여를 반환하는 계산_salary라는 저장 프로시저가 있다고 가정합니다. 다음 명령을 사용하여 PL/SQL 블록에서 이를 호출할 수 있습니다.
DECLARE employee_id NUMBER := 1234; salary NUMBER := 5000; total_salary NUMBER; BEGIN calculate_salary(employee_id, salary, total_salary); DBMS_OUTPUT.PUT_LINE('Employee ' || employee_id || ' has a total salary of ' || total_salary); END;
이 PL/SQL 블록은 직원 ID와 급여 값을 계산_salary 저장 프로시저에 전달한 다음 반환된 총 급여 값을 인쇄합니다.
Oracle API는 Oracle 데이터베이스에서 다양한 데이터 작업을 수행하는 데 사용할 수 있는 API 집합입니다. Oracle API를 사용하면 저장 프로시저를 호출하는 프로그램을 작성할 수 있습니다.
다음은 Oracle API를 사용하여 저장 프로시저를 호출하는 일반적인 구문입니다.
DECLARE -- Declare and initialize variables variable_name datatype; -- Declare cursor cursor_name REF CURSOR; BEGIN -- Open cursor OPEN cursor_name FOR SELECT * FROM table_name; -- Execute stored procedure EXECUTE stored_procedure_name(param1, param2, ..., paramN); -- Process results and display output FETCH cursor_name INTO variable_name; DBMS_OUTPUT.PUT_LINE(variable_name); END;
이 구문에서cursor_name은 REF CURSOR를 사용하여 선언된 커서의 이름입니다. Stored_procedure_name, param1, param2 및 기타 매개변수는 호출할 저장 프로시저 및 해당 매개변수입니다.
예를 들어, 직원 ID를 매개변수로 받아들이고 직원의 이름을 반환하는 get_employee_name이라는 저장 프로시저가 있다고 가정해 보겠습니다. 다음 코드를 사용하여 Oracle API를 사용하여 이 저장 프로시저를 호출할 수 있습니다.
DECLARE emp_id NUMBER := 1234; emp_name VARCHAR2(50); ref_cursor SYS_REFCURSOR; BEGIN OPEN ref_cursor FOR SELECT * FROM employee_table WHERE id = emp_id; EXECUTE get_employee_name(emp_id, emp_name); FETCH ref_cursor INTO emp_name; DBMS_OUTPUT.PUT_LINE('The employee with ID ' || emp_id || ' has a name of ' || emp_name); END;
Oracle API를 사용하여 커서를 연 다음 get_employee_name 저장 프로시저를 호출했습니다. 마지막으로 결과 집합에서 직원의 이름을 검색하여 화면에 인쇄합니다.
요약
Oracle에서 저장 프로시저는 데이터베이스 쿼리 및 작업에 대한 다양한 옵션을 제공할 수 있는 매우 강력하고 일반적으로 사용되는 기능입니다. 이 기사에서는 Oracle에서 저장 프로시저를 호출하는 방법을 살펴보고 SQL 문에서 직접 호출, PL/SQL 블록 사용, Oracle API 사용 등 세 가지 방법을 소개합니다. 이러한 예를 통해 저장 프로시저를 사용하면 데이터베이스 작업의 효율성이 향상될 수 있으며 적절한 도구와 방법을 사용하여 개발 작업을 단순화할 수 있는 방법을 알 수 있습니다.
위 내용은 Oracle에서 저장 프로시저를 호출하는 방법 토론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!