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

Oracle에서 저장 프로시저를 호출하는 방법 토론

PHPz
PHPz원래의
2023-04-17 14:12:531117검색

Oracle 데이터베이스는 저장 프로시저가 가장 중요한 기능 중 하나인 강력한 관계형 데이터베이스 관리 시스템입니다. Oracle에서 저장 프로시저는 데이터베이스의 특정 작업을 완료하기 위해 작성된 SQL 문 집합이며 일반적으로 이름으로 식별됩니다. 이번 글에서는 Oracle에서 저장 프로시저를 호출하는 방법을 살펴보겠습니다.

Oracle에서 저장 프로시저는 일반적으로 데이터베이스에서 데이터 쿼리, 데이터 업데이트, 데이터 삭제, 데이터 삽입 등과 같은 특정 작업을 수행하는 데 사용됩니다. 이러한 저장 프로시저는 SQL 문을 통해 생성되어 데이터베이스에 저장되고 필요할 때 호출되어 실행될 수 있습니다.

저장 프로시저를 호출하는 방법에는 세 가지가 있습니다. 즉, SQL 문에서 직접 호출하거나, PL/SQL 블록을 사용하거나, Oracle API를 사용하는 것입니다.

  1. SQL 문에서 직접 저장 프로시저 호출

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가 됩니다. 매개변수로 전달됩니다.

  1. PL/SQL 블록을 사용하여 저장 프로시저 호출

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 저장 프로시저에 전달한 다음 반환된 총 급여 값을 인쇄합니다.

  1. Oracle API를 사용하여 저장 프로시저 호출

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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