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.3 PL/SQL 레코드 – 대나무숲

3.2.3 PL/SQL 레코드

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

 PL/SQL레코드는 여러개의 데이터 타입을 갖는 변수들의 집합이다.

  스칼라, RECORD, 또는 PL/SQL TABLE datatype중 하나 이상의 요소로 구성 된다.

  논리적 단위로서 필드 집합을 처리할 수 있도록 해 준다.

  PL/SQL 테이블과 다르게 개별 필드의 이름을 부여할 수 있고, 선언시 초기화가 가능하다.

PL/SQL 레코드 문법 및 선언예제

 
-- 선언 예제
TYPE record_test IS RECORD 
  ( record_empno   NUMBER, 
    record_ename   VARCHAR2(30), 
    record_sal     NUMBER); 

-- record_test 레코드 타입으로 prd_record변수를 선언해서 사용 
prd_record    record_test;

-- 아래 프로시저에서 사용된 예제를 보면 이해가 쉽게 갈 것이다.
    

PL/SQL 레코드 예제

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

   IS

     -- 하나의 레코드의 세가지의 변수타입 선언 

     TYPE emp_record IS RECORD
     (v_empno    NUMBER,
      v_ename    VARCHAR2(30),
      v_hiredate  DATE );

     emp_rec   emp_record ;

   BEGIN

     DBMS_OUTPUT.ENABLE;

     -- 레코드의 사용 
     SELECT empno, ename, hiredate
     INTO emp_rec.v_empno, emp_rec.v_ename, emp_rec.v_hiredate
     FROM emp
     WHERE empno = p_empno;

     DBMS_OUTPUT.PUT_LINE( '사원번호 : ' || emp_rec.v_empno );
     DBMS_OUTPUT.PUT_LINE( '사원이름 : ' || emp_rec.v_ename );
     DBMS_OUTPUT.PUT_LINE( '입 사 일 : ' || emp_rec.v_hiredate);

   END;
 / 

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

-- 실행 결과 
SQL> EXECUTE Record_Test(7369);

사원번호 : 7369
사원이름 : SMITH
입 사 일 : 80/12/17

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

-- %ROWTYPE 예제와 비교해 보세요 
    

답글 남기기 0

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