스칼라 데이터타입에는 일반 단일 데이터타입의 변수와 %TYPE 데이터형 변수가 있다.
-- 숫자형 상수 선언(변할 수 없다) v_price CONTANT NUMBER(4,2) := 12.34 ; v_name VARCHAR2(20) ; v_Bir_Type CHAR(1) ; -- NOT NULL의 TRUE로 초기화 v_flag BOOLEAN NOT NULL := TRUE ; v_birthday DATE;
%TYPE 데이터형은 기술한 데이터베이스 테이블의 컬럼 데이터 타입을 모를 경우 사용할 수 있고, 코딩이후 데이터베이스 컬럼의 데이터 타입이 변경될 경우 다시 수정할 필요가 없다.
이미 선언된 다른 변수나 데이터베이스 컬럼의 데이터 타입을 이용하여 선언 한다.
데이터베이스 테이블과 컬럼 그리고 이미 선언한 변수명이 %TYPE앞에 올수 있다.
SQL> CREATE OR REPLACE PROCEDURE Emp_Info -- IN Parameter ( p_empno IN emp.empno%TYPE ) IS -- %TYPE 데이터형 변수 선언 v_empno emp.empno%TYPE; v_ename emp.ename%TYPE; v_sal emp.sal%TYPE; BEGIN DBMS_OUTPUT.ENABLE; -- %TYPE 데이터형 변수 사용 SELECT empno, ename, sal INTO v_empno, v_ename, v_sal FROM emp WHERE empno = p_empno ; -- 결과값 출력 DBMS_OUTPUT.PUT_LINE( '사원번호 : ' || v_empno ); DBMS_OUTPUT.PUT_LINE( '사원이름 : ' || v_ename ); DBMS_OUTPUT.PUT_LINE( '사원급여 : ' || v_sal ); END; / -- DBMS_OUTPUT 결과값을 화면에 출력 하기위해 SQL> SET SERVEROUTPUT ON; -- 실행 결과 SQL> EXECUTE Emp_Info(7369); 사원번호 : 7369 사원이름 : SMITH 사원급여 : 880
- 강좌 URL : http://www.gurubee.net/lecture/1044
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.