728x90
728x90
PL/SQL 변수 선언 및 할당: 자세한 설명과 다양한 예시
PL/SQL(Procedural Language/SQL)은 Oracle 데이터베이스에서 SQL의 기능을 확장하여 복잡한 로직을 구현할 수 있도록 해주는 프로그래밍 언어입니다. PL/SQL에서 변수는 데이터를 임시로 저장하고 조작하는 데 사용되는 메모리 공간을 의미하며, 프로그램의 흐름을 제어하는 데 중요한 역할을 합니다. 이 글에서는 PL/SQL 변수의 종류, 선언 방법, 할당 방법, 그리고 다양한 사용법에 대해 자세히 알아보겠습니다.
변수의 종류
PL/SQL 변수는 크게 스칼라 변수와 복합 변수로 나눌 수 있습니다.
- 스칼라 변수: 하나의 값만 저장하는 가장 기본적인 변수입니다. 숫자, 문자, 날짜 등 다양한 데이터 타입을 가질 수 있습니다.
- 숫자형: NUMBER, INTEGER, DECIMAL 등
- 문자형: VARCHAR2, CHAR
- 날짜형: DATE
- 논리형: BOOLEAN
- 복합 변수: 여러 개의 값을 저장하는 변수로, 레코드형과 배열형이 있습니다.
- 레코드형: 여러 개의 스칼라 변수를 하나의 논리적인 단위로 묶은 것으로, 테이블의 한 행과 유사합니다.
- 배열형: 동일한 데이터 타입의 값을 여러 개 저장할 수 있는 변수입니다.
728x90
변수 선언
변수를 사용하기 전에 먼저 선언해야 합니다. 변수 선언 시에는 변수의 이름과 데이터 타입을 지정합니다.
DECLARE
v_emp_no NUMBER(4); -- 사원번호를 저장할 숫자형 변수
v_emp_name VARCHAR2(20); -- 사원 이름을 저장할 문자형 변수
v_hiredate DATE; -- 입사일을 저장할 날짜형 변수
BEGIN
-- 실행문
END;
/
- DECLARE: 변수 선언 부분을 시작하는 키워드
- 변수 이름: 식별자 규칙에 따라 지정하며, 의미 있는 이름을 사용하는 것이 좋습니다.
- 데이터 타입: 저장할 데이터의 종류를 지정합니다.
- BEGIN...END: 실행문을 포함하는 블록
변수에 값 할당
선언된 변수에 값을 할당하는 방법에는 다음과 같은 방법들이 있습니다.
- := 연산자: 가장 일반적인 할당 방법입니다.
v_emp_no := 7369;
v_emp_name := 'SMITH';
- DEFAULT 키워드: 변수 선언과 동시에 초기값을 설정할 수 있습니다.
v_dept_no NUMBER(2) DEFAULT 10;
- SELECT INTO: SQL 쿼리 결과를 변수에 할당합니다.
SELECT employee_id INTO v_emp_no
FROM employees
WHERE last_name = 'KING';
변수의 사용
변수는 PL/SQL 블록 내에서 다양하게 사용될 수 있습니다.
- 연산: 산술 연산, 비교 연산 등 다양한 연산의 피연산자로 사용됩니다.
v_salary := v_salary * 1.1; -- 급여 10% 인상
- 조건문: IF, CASE 등 조건문의 조건식에서 사용됩니다.
IF v_salary > 10000 THEN
-- 급여가 10000 이상인 경우
END IF;
- 반복문: LOOP, FOR 등 반복문의 조건식이나 반복 횟수를 지정하는 데 사용됩니다.
FOR i IN 1..10 LOOP
-- 1부터 10까지 반복
END LOOP;
- 함수 호출: 함수의 인수로 전달되거나, 함수의 반환값으로 사용됩니다.
- 프로시저 호출: 프로시저의 인수로 전달되거나, 프로시저 내에서 값이 변경되어 반환됩니다.
복합 변수
- 레코드형 변수:
DECLARE
TYPE emp_rec IS RECORD (
emp_no NUMBER(4),
emp_name VARCHAR2(20),
salary NUMBER(8,2)
);
v_emp emp_rec;
BEGIN
v_emp.emp_no := 7369;
v_emp.emp_name := 'SMITH';
v_emp.salary := 800;
END;
/
- 배열형 변수:
DECLARE
TYPE num_array IS TABLE OF NUMBER(2) INDEX BY PLS_INTEGER;
v_nums num_array;
BEGIN
v_nums(1) := 10;
v_nums(2) := 20;
v_nums(3) := 30;
END;
/
결론
PL/SQL 변수는 데이터를 저장하고 조작하는 데 필수적인 요소입니다. 다양한 종류의 변수를 적절히 활용하여 복잡한 로직을 구현할 수 있습니다. 이 글을 통해 PL/SQL 변수에 대한 이해를 높이고, 실제 개발에 활용할 수 있기를 바랍니다.
728x90
728x90
'Oracle Database 강좌 > 4. PL SQL' 카테고리의 다른 글
예외 처리: EXCEPTION 처리 (0) | 2024.10.07 |
---|---|
프로시저, 함수: 프로시저와 함수의 차이점, 생성 및 호출 방법 (0) | 2024.10.07 |
제어문: IF, LOOP, FOR 등 (0) | 2024.10.07 |
PL/SQL 블록 구조: DECLARE, BEGIN, END 키워드 설명 (0) | 2024.10.07 |
PL/SQL이란 무엇인가요? PL/SQL의 개념과 특징 (0) | 2024.10.07 |