Oracle에서 변수를 선언하고 사용하는 방법에 대해 아주 쉽게 알려줄게 😎
변수는 값을 저장해서 나중에 쓰기 위한 그릇 같은 거야.
PL/SQL에서는 데이터를 임시로 저장하고 계산하거나 비교할
✅ 변수란?
👉 값을 저장하는 공간(그릇)
숫자, 문자열, 날짜 등 여러 데이터를 저장할 수 있어.
예를 들어,
v_name := '홍길동';
이렇게 이름을 저장해 놓고, 나중에 v_name을 써먹는 거야!
🛠 Oracle 변수 사용법 (PL/SQL 기준)
📌 기본 구조
DECLARE
변수이름 자료형 [:= 초기값];
BEGIN
-- 변수 사용
END;
🔹 DECLARE: 변수를 선언하는 부분
🔹 BEGIN ~ END: 실행 블록 (여기서 변수 사용)
때 꼭 필요해!
✅ 예제 1: 숫자 변수
DECLARE
v_score NUMBER := 90;
BEGIN
DBMS_OUTPUT.PUT_LINE('점수는 ' || v_score);
END;
🔍 결과
점수는 90
✅ 예제 2: 문자 변수
DECLARE
v_name VARCHAR2(20) := '김자바';
BEGIN
DBMS_OUTPUT.PUT_LINE('이름: ' || v_name);
END;
✅ 예제 3: 날짜 변수
DECLARE
v_today DATE := SYSDATE;
BEGIN
DBMS_OUTPUT.PUT_LINE('오늘 날짜: ' || TO_CHAR(v_today, 'YYYY-MM-DD'));
END;
🧠 변수 자료형 종류
| 자료형 | 설명 | 예시 |
| NUMBER | 숫자 (정수, 소수) | 100, 3.14 |
| VARCHAR2(n) | 문자열 (최대 n길이) | 'Hello' |
| CHAR(n) | 고정 길이 문자열 | 'A' (n=1) |
| DATE | 날짜 | SYSDATE |
| BOOLEAN | 참/거짓 | TRUE, FALSE (단, SQL문에서는 사용 불가) |
📌 변수 선언 팁
🔸 초기값 없이 선언도 가능
v_price NUMBER;
🔸 테이블 컬럼의 자료형을 그대로 쓰고 싶다면?
v_id MEMBER.MEM_ID%TYPE;
📌 이건 MEMBER 테이블의 MEM_ID 컬럼 자료형을 그대로 가져와서 선언해줌.
컬럼 타입이 바뀌어도 자동 반영돼서 실무에서 매우 유용해!
📌 변수 대입 방법 2가지
| 방법 | 문법 | 설명 |
| 선언할 때 | := 값 | 초기값 |
| 실행 중 변경 | SELECT INTO | 쿼리 결과를 변수에 넣기 |
예:
SELECT 이름 INTO v_name
FROM 회원
WHERE 회원번호 = 'A001';
✅ 요약 정리
| 요소 | 설명 |
| DECLARE | 변수를 선언하는 구역 |
| := | 값을 대입할 때 사용 |
| DBMS_OUTPUT.PUT_LINE | 변수 값 출력할 때 사용 |
| %TYPE | 테이블 컬럼 타입을 그대로 사용할 때 |
💬 예제: 총정리
DECLARE
v_name VARCHAR2(20);
v_score NUMBER := 95;
BEGIN
v_name := '홍길동';
IF v_score >= 90 THEN
DBMS_OUTPUT.PUT_LINE(v_name || '은 A학점입니다.');
END IF;
END;
'대덕인재 > Oracle' 카테고리의 다른 글
| [Oracle D-18] 커서 (CURSOR)/ 암시적 커서 (implicit cursor)와 명시적 커서 (explicit cursor) (0) | 2025.04.24 |
|---|---|
| [Oracle D-18] 반복문 (0) | 2025.04.24 |
| [Oracle D-18] 분기문 (0) | 2025.04.24 |
| [Oracle D-17] LOOP (0) | 2025.04.23 |
| [Oracle D-17] PL/SQL에서 사용되는 프로그래밍 구조(Program Units) (0) | 2025.04.23 |