블로그

[DB] PL/SQL 정리 본문

CS

[DB] PL/SQL 정리

왕방토 2022. 12. 15. 16:10
728x90

PL/SQL

  • 오라클에 내장된 Procedural Language
  • 조건문 및 반복문이 지원됨
  • [DECLARE - (BEGIN) - (EXCEPTION) - END] 의 구조를 가진다
  • 장점(사용하는 이유)
    • 조건문 및 반복문이 지원된다
    • 변수를 사용 가능하다
    • 예외처리가 가능하다

 

특징

  • 문장과 END뒤를 세미콜론으로 마쳐야함
  • 쿼리문 수행시 / 입력
  • 단일행 주석: --
  • 여러행 주석: /**/
  • 대입연산자: :=  -> 변수 := 값  와 같이 사용
  • 비교연산자: =

 

 

출력

  • 세션마다 set serveroutput on 으로 setveroutput 환경변수를 먼저 ON 해주어야 한다
  • 출력시 dbms_output.put_line() 함수를 이용해 데이터 출력
  • -> 기본적으로 줄바꿈이 끝에 붙는 함수임

(PL/SQL 쓸 때에는 ed에서도 세미콜론 써도 된다 )

 

 

 

 

Datatype

  • 스칼라 타입
    • 일반 단일 데이터 타입: NUMBER, VARCHAR, DATE, BOOLEAN
    • %TYPE 데이터 타입: 다른 데이터의 타입을 따라가기 위해 사용
  • 복합 데이터 타입: %rowtype
    • 한 row(행)를 불러와 담을 수 있음. 데이터에 접근할 때는 변수명.column명 과 같이 접근함
    • 예시

 

 

변수선언

변수이름 [CONSTANT] 데이터 타입 [NOT NULL]
[:= | DEFAULT expression]

 

대입연산자: :=

-> 변수 := 값   와 같이 사용

 

 

 

LOOP문 형식 (do-while 같은 느낌)

 

LOOP
statement1;
statement2;
...
EXIT (condition)
END LOOP;

 

 

WHILE LOOP 형식

WHILE condition LOOP
statement1;
statement2;
...
END LOOP;

 

FOR LOOP 형식 (lowerbound 와 upperbound 사이에 점 두개!)

FOR 변수명 IN LOWER_BOUND..UPPER_BOUND LOOP
statement1;
statement2;
....
END LOOP;

 

lowerbound 이상 uppwer bound 이하임에 주의

 

IF문 형식

IF codition THEN
statements;
ELSIF conditoin THEN
statements;
...
ELSE
statements;
END IF;

 

select 문으로 불러온 column 변수에 저장하기

SELECT c1, c2, c3
INTO v1, v2, v3
FROM table_name
WHERE condition;

예시

Comments