반응형
오라클에서 RECORD는 PL/SQL에서
데이터를 객체 형식으로 담을 때 사용하는데
일반 변수와의 차이는
변수 하나에 값 하나가 아니라
RECORD 안에 여러 변수가 들어가기 때문에
여러 변수들에 값을 할당해 줄 수 있게 된다
TYPE RECORD명 IS RECORD ( 변수명 변수타입 );
으로 RECORD를 생성하게 되고
사용할_RECORD명 RECORD명;
으로 작성한 레코드를 사용할_RECORD명에 할당해서
RECORD를 사용하게 된다
이후 쿼리를 수행하면서
사용할_RECORD명.변수명에 값을 할당해 사용한다
위 예제는 RECORD를 만든 뒤
V_RECORD_NO, V_RECORD_NAME 변수를 넣어놓고
1과 TEST를 할당하고 값을 출력하는 프로시저인데
프로시저 작성 후
DBMS_OUTPUT.PUT_LINE 출력을 위해
SET SERVEROUTPUT ON;
을 수행한 후에 프로시저를 수행해 보니
RECORD 안에 선언한 변수에
값이 제대로 할당된 것이 보인다
뭔가 유용해 보이지만
실제 업무에서 RECORD는
대부분의 함수(Function) 및 프로시저(Procedure)에서
사용하지 않기 때문에
뭔 기능인지만 확인하고 넘어가면 되겠다
마지막으로 예제에 사용한 쿼리는 아래와 같다
create or replace PROCEDURE RECORD_PROC
IS
TYPE RECORD_EXAMPLE IS RECORD -- 레코드 생성
(
V_RECORD_NO NUMBER,
V_RECORD_NAME VARCHAR2(30)
);
RECORD RECORD_EXAMPLE; -- RECORD 안에 RECORD_EXAMPLE을 담아줌
BEGIN
-- 1, 'TEST'를 RECORD의 V_RECORD_NO, V_RECORD_NAME에 넣어줌
SELECT 1, 'TEST'
INTO RECORD.V_RECORD_NO, RECORD.V_RECORD_NAME
FROM DUAL;
-- 값 출력
DBMS_OUTPUT.PUT_LINE('NO : '||RECORD.V_RECORD_NO);
DBMS_OUTPUT.PUT_LINE('NAME : '||RECORD.V_RECORD_NAME);
END;
반응형
'SQL > Oracle' 카테고리의 다른 글
오라클 PL/SQL 텍스트로 검색방법 (0) | 2020.11.18 |
---|---|
오라클 PL/SQL 이란? (0) | 2020.11.18 |
오라클 명령문 실행, 스크립트 실행 차이점 정리 (0) | 2020.11.13 |
오라클 PL/SQL 예외처리(Exception) 종류부터 사용방법 정리 (0) | 2020.11.12 |
오라클 최근에 수정한 함수, 프로시저 확인방법 (0) | 2020.11.11 |
댓글