Day43 - PL / SQL_IF, CASE문

2021. 4. 15. 11:40Oracle 공부

이번에는 PL / SQL 에 대해서 알아 봅시다

 

PL / SQL 은 난이도가 높다고 해요 ~

 

PL / SQL

PL / SQL 은 program SQL 이라고 해서 SQL 도 java 처럼 변수 선언. 제어문 등등을 사용할 수 있다고 합니다.

 

먼저, SQLDeveloper 를 켜주시고, 서버에 접속을 합니다.

 

SET SERVEROUTPUT ON; 을 작성해주고 실행해 줍니다. ( 출력문 활성화 )

원형을 먼저 한번 보도록 하죠

DECLARE 에는 변수를 선언하는 구간 입니다.

BEGIN 에는 변수의 대입 이라던지, 출력문 이라던지... 등등을 사용하는 구간 입니다.

END 는 PL/SQL 이 끝나는 구간임을 의미 합니다.

 

실행하고 싶은 구간을 드래그 한다음 F5를 눌러서 실행하면 됩니다.

※ 변수의 대입은 := 사용

※ 출력은 DBMS_OUTPUT.PUT_LINE(변수); 사용

- 연산자도 사용이 가능합니다.

※ SQL에서 나머지는 MOD를 사용합니다.

※ <> 는 같지 않다. ** 는 제곱 입니다

※ || 를 사용해서 변수를 문자열에 붙일 수 있습니다

범위를 선택하지 않고, 실행을 시킨다면 위의 10 이 같이 출력되거나, 오류가 뜹니다.

 

- DML문과 혼용해서 사용이 가능합니다.

 

DDL문은 사용할 수 없습니다.

SELECT절 다음에 INTO를 사용합니다.

※ SELECT절에 있는 컬럼의 데이터를 INTO절에 있는 변수에 대입합니다.

※ SELECT절에 있는 컬럼의 데이터 유형과 INTO 절에 있는 변수의 데이터 유형이 동일해야 합니다.

 

데이터 유형을 똑같이 맞추기 위해서, '테이블명.컬럼명%TYPE' 을 사용합니다.

※ 해당 테이블의 컬럼에 데이터 유형을 가져옵니다.

 

- SELECT문 , INSERT문 을 같이 사용하기

 

이번에는 테이블을 만들어서 해봅시다. 코드 작성후 실행해서 테이블을 만들어 주세요

PL/SQL 을 사용해서, 새로 만든 테이블에 값을 넣어 봅시다.

위와 같이 INSERT에 변수를 사용해서 데이터를 추가할 수 있습니다.

 

※ 랜덤값 -> DBMS_RANDOM.VALUE()

 

- IF문

PL/SQL 에서 IF문도 사용할 수 있는데요.

※ IF (조건) THEN ELSE END IF

- ELSIF문

※ IF (조건) THEN ELSIF (조건) THEN ELSE END IF

- CASE문

※ CASE WHEN (조건) THEN ELSE END CASE

 

이렇게 PL/SQL 에 대해서 간단하게 알아 보았습니다.

 

고생하셨습니다.

'Oracle 공부' 카테고리의 다른 글

Day44 - PL/SQL_프로시저, 매개변수 IN  (0) 2021.04.16
Day44 - PL / SQL_반복문, 반복제어문  (0) 2021.04.16
Day 42 - hr 계정 초기화  (0) 2021.04.14
Day41 - 물리적 데이터 모델링  (0) 2021.04.13
Day40 - 정규화  (0) 2021.04.12