>데이터 베이스 >Oracle >Oracle 저장 프로시저에서 변수에 값을 할당하는 방법

Oracle 저장 프로시저에서 변수에 값을 할당하는 방법

PHPz
PHPz원래의
2023-04-04 10:40:225057검색

Oracle 저장 프로시저는 데이터베이스 작업 코드를 저장하고 관리하는 데 사용되는 Oracle 데이터베이스의 기술입니다. 저장 프로시저는 데이터베이스 관리자나 개발자가 작성하고 유지 관리할 수 있는 미리 컴파일된 SQL 코드 조각입니다. Oracle 저장 프로시저에서 변수는 매우 중요한 구성 요소입니다. 이번 글에서는 오라클 저장 프로시저에서 변수에 값을 할당하는 방법을 중점적으로 살펴보겠습니다.

Oracle 저장 프로시저의 변수

Oracle 저장 프로시저에서 변수는 값 또는 값 집합을 저장하는 데 사용할 수 있는 메모리 셀 집합입니다. 변수 이름은 고유하며 식별자 명명 규칙을 따라야 합니다. Oracle 저장 프로시저에는 다양한 유형의 변수가 있습니다. 다음은 Oracle 저장 프로시저에서 일반적으로 사용되는 몇 가지 변수 유형입니다.

  1. CHAR: 고정 길이 문자 데이터를 저장하는 데 사용됩니다.
  2. VARCHAR2: 가변 길이 문자 데이터를 저장하는 데 사용됩니다.
  3. NUMBER: 숫자 데이터를 저장하는 데 사용됩니다.
  4. BOOLEAN: 참/거짓을 저장하는 데 사용되는 부울 값입니다.
  5. DATE: 날짜 및 시간 데이터를 저장하는 데 사용됩니다.
  6. TABLE: 컬렉션 데이터 유형을 저장하는 데 사용됩니다.
  7. REF CURSOR: 커서 변수를 저장하는 데 사용됩니다.

변수에 값 할당

Oracle 저장 프로시저는 다양한 방법으로 변수에 값을 할당할 수 있습니다. 일반적인 방법에는 직접 할당, SELECT INTO 문 및 매개 변수 전달이 포함됩니다.

  1. 직접 할당

직접 할당은 Oracle 저장 프로시저의 변수에 값을 할당하는 가장 간단한 방법입니다. 직접 할당의 구문은 다음과 같습니다.

variable_name := value;

여기서 Variable_name은 변수 이름이고 value는 변수의 값입니다. 예를 들어, 다음 저장 프로시저는 직접 할당을 사용하여 변수에 값을 할당하는 방법을 보여줍니다.

CREATE OR REPLACE PROCEDURE assign_variable
IS
  x VARCHAR2(100);
BEGIN
  x := 'Hello, World!';
  DBMS_OUTPUT.PUT_LINE(x);
END;

위 저장 프로시저에서는 VARCHAR2 유형의 변수 x를 사용하고 해당 값을 'Hello, World! '. 그런 다음 DBMS_OUTPUT.PUT_LINE 문을 사용하여 변수 값을 출력합니다.

  1. SELECT INTO 문

SELECT INTO 문은 Oracle 저장 프로시저에서 변수에 값을 할당하는 데 일반적으로 사용되는 또 다른 방법입니다. SELECT INTO 문은 데이터베이스 테이블에서 데이터를 선택하고 해당 데이터를 변수에 저장합니다. SELECT INTO 문의 구문은 다음과 같습니다.

SELECT column_name(s) INTO variable_name(s) FROM table_name WHERE condition;

그 중 column_name(s)은 테이블에서 선택할 컬럼 이름이거나 실행할 SQL 함수입니다. Variable_name(s)은 열 값이나 함수 반환 값을 저장해야 하는 변수의 이름입니다. table_name은 값이 필요한 테이블의 이름이고, 조건은 선택적 WHERE 절입니다. 예를 들어, 다음 저장 프로시저는 SELECT INTO 문을 사용하여 변수에 값을 할당하는 방법을 보여줍니다.

CREATE OR REPLACE PROCEDURE get_employee_name
IS
  emp_name VARCHAR2(100);
BEGIN
  SELECT first_name INTO emp_name FROM employees WHERE employee_id = 100;
  DBMS_OUTPUT.PUT_LINE('Employee name is ' || emp_name);
END;

위 저장 프로시저에서는 VARCHAR2 유형 변수 emp_name을 사용하고 직원 ID가 다음과 같은 직원의 first_name 데이터를 검색합니다. 직원 테이블에서 100을 추가하고 해당 값은 emp_name 변수에 저장됩니다. 그런 다음 DBMS_OUTPUT.PUT_LINE 문을 사용하여 변수 값을 출력합니다.

  1. 매개변수 전달

매개변수 전달은 Oracle 저장 프로시저의 변수에 값을 할당하는 또 다른 일반적인 방법입니다. 매개변수 전달은 변수를 저장 프로시저의 입력 매개변수 또는 출력 매개변수로 전달하는 것을 의미합니다. 저장 프로시저 입력 매개변수는 저장 프로시저에 값을 전달하는 데 사용되고, 출력 매개변수는 저장 프로시저에서 호출 프로그램으로 값을 다시 전달하는 데 사용됩니다. 매개변수 전송 구문은 다음과 같습니다.

PROCEDURE procedure_name(param1 IN datatype1, param2 OUT datatype2)

그 중 param1은 입력 매개변수이고 param2는 출력 매개변수입니다. datatype1 및 datatype2는 입력 매개변수 및 출력 매개변수의 데이터 유형입니다(예: VARCHAR2, NUMBER 등). 예를 들어, 다음 저장 프로시저에서는 매개변수 전달을 사용하여 변수에 값을 할당하는 방법을 보여줍니다.

CREATE OR REPLACE PROCEDURE add_numbers (
          x IN NUMBER,
          y IN NUMBER,
          z OUT NUMBER)
IS
BEGIN
          z := x + y;
END;

위 저장 프로시저에서는 세 개의 변수 x, y, z를 정의합니다. 여기서 x, y는 입력 매개변수이고 z는 출력 매개변수. 저장 프로시저는 x와 y의 합을 z에 할당하고 z 값을 호출 프로그램에 다시 전달합니다.

요약

이 문서에서는 Oracle 저장 프로시저의 변수에 값을 할당하는 방법에 중점을 둡니다. Oracle 저장 프로시저에서 변수는 매우 중요한 구성 요소입니다. 변수에는 다양한 유형이 있으며 다양한 방법으로 변수에 값을 할당할 수 있습니다. 변수를 능숙하게 사용하면 저장 프로시저 작성을 강력하게 지원할 수 있습니다.

위 내용은 Oracle 저장 프로시저에서 변수에 값을 할당하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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