본문으로 바로가기

Oracle 테이블 펑션

category DB/Oracle 2020. 2. 8. 01:27

데이터를 활용함에있어서 view를 쓸수도 있지만 함수 인덱스,

동적쿼리를 이용하여 데이터를 가져올수 있는 테이블펑션도 유용하게 쓸일이 많다.

테이블펑션의 기본적인 생성법은 아래와 같다.

 

1.TYPE OBJECT 생성

 

1
2
3
4
5
CREATE OR REPLACE TYPE 오브젝트 명칭 AS OBJECT
(
   컬럼 컬럼타입 사이즈
) ;
CREATE OR REPLACE TYPE 파이프라인명칭 AS TABLE OF 오브젝트 명칭;

 

 

 

2.  펑션생성

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CREATE OR REPLACE FUNCTION 펑선명
   파라미터 컬럼 IN 타입
RETURN 파이프라인명칭 PIPELINED 
IS
 
BEGIN 
      FOR C1_REC IN 
      ( 
           SELECT 
                 컬럼명
             FROM A 
      ) LOOP 
      PIPE ROW
 
      ( 
                C1_REC .컬럼명
      ); 
      END LOOP; 
 
END;