Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-member domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /ledcorps/www/wp/wp-includes/functions.php on line 6114 3.2.1 %ROWTYPE – 대나무숲

3.2.1 %ROWTYPE

출처 http://www.gurubee.net/lecture/1046

하나 이상의 데이터값을 갖는 데이터 타입으로 배열과 비슷한 역할을 하고 재사용이 가능하다. %ROWTYPE 데이터 형과, PL/SQL테이블과 레코드는 복합 데이터 타입에 속한다.

%ROWTYPE

  테이블이나 뷰 내부의 컬럼 데이터형, 크기, 속석등을 그대로 사용 할 수 있다.

  %ROWTYPE 앞에 오는 것은 데이터베이스 테이블 이름이다.

  지정된 테이블의 구조와 동일한 구조를 갖는 변수를 선언 할 수 있다.

  데이터베이스 컬럼들의 수나 DATATYPE을 알지 못할 때 편리 하다.

  테이블의 데이터 컬럼의 DATATYPE이 변경 될 경우 프로그램을 재수정할 필요가 없다.

%ROWTYPE 예제

 
SQL>CREATE OR REPLACE PROCEDURE RowType_Test
        ( p_empno IN emp.empno%TYPE )

    IS

        -- %ROWTYPE 변수 선언, 
        -- emp테이블의 속성을 그대로 사용할 수 있다. 
        v_emp   emp%ROWTYPE ;

   BEGIN

        DBMS_OUTPUT.ENABLE;

        -- %ROWTYPE 변수 사용 
        SELECT empno, ename, hiredate
        INTO v_emp.empno, v_emp.ename, v_emp.hiredate
        FROM emp
        WHERE empno = p_empno;

       DBMS_OUTPUT.PUT_LINE( '사원번호 : ' || v_emp.empno );
       DBMS_OUTPUT.PUT_LINE( '사원이름 : ' || v_emp.ename );
       DBMS_OUTPUT.PUT_LINE( '입 사 일 : ' || v_emp.hiredate );

   END;
   / 

-- DBMS_OUTPUT.PUT_LINE을 출력하기 위해 사용
SQL> SET SERVEROUTPUT ON ;  

-- 실행 결과 
SQL> EXECUTE RowType_Test(7900);

사원번호 : 7900
사원이름 : JAMES
입 사 일 : 81/12/03

PL/SQL 처리가 정상적으로 완료되었습니다.
    

참고링크

%TYPE과 %ROWTYPE을 사용하라


답글 남기기 0

Your email address will not be published. Required fields are marked *