대덕인재/Oracle

[Oracle D-18] 변수

꼬마버거 2025. 4. 24. 11:56

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;