1. 변수 선언

PL/SQL 블록 내에서 변수를 선언하려면 선언부(DECLARE)에서 선언해야 함

identifier [CONSTANT] datatype [NOT NULL]
[:= | DEFAULT expression];


2. 데이터 타입

① 스칼라

숫자, 문자, 날짜, BOOLEAN

 

② 레퍼런스

변수의 데이터 타입을 데이터베이스 기존 칼럼에 맞추어 선언하기 위해 %TYPE Attribute를 이용

변수를 선언할 때 필요한 데이터 타입을 명시적으로 언급하는 대신 'TABLE이름.COLUMN이름%TYPE'으로 지정

- %TYPE : 칼럼 단위로 데이터 타입을 참조

- %ROWTYPE : 로우 전체에 대한 데이터 타입을 참조 (테이블의 칼럼 개수나 데이터 타입을 전혀 몰라도 됨)

 

DECLARE
	V_ENO EMPLOYEE.ENO%TYPE;
    V_ENAME EMPLOYEE.ENAME%TYPE;

→ 레퍼런스 타입으로 선언한 V_ENO 변수는 EMPLOYEE 테이블의 ENO 칼럼의 데이터 타입과 크기를 그대로 참조해서 정의


3. 대입문

변수에 값을 저장하기 위해 ':=' 사용

identifier := expression;

 

변수 선언 및 값 할당하기

 

※ SELECT INTO

PL/SQL에서도 테이블의 조회를 위해 SELECT문을 사용

INTO 절이 추가로 필요

SELECT select_list
INTO {variable_name1[,variable_name2,..] | record_name}
FROM table_name
WHERE condition;

SELECT ENO, ENAME, DNO
INTO V_ENO, V_ENAME, V_DNO
FROM EMPLOYEE
WHERE ENAME = 'SCOTT';

 

사원번호와 사원이름 출력하기

'SQL - Oracle > 14. PL/SQL' 카테고리의 다른 글

Day 38 : 연습 문제 - PL/SQL  (0) 2021.12.09
Day 38 : Exercise - PL/SQL  (0) 2021.12.09
Day 38 : 커서  (0) 2021.12.09
Day 38 : 제어문  (0) 2021.12.09
Day 38 : PL/SQL  (0) 2021.12.09

+ Recent posts