행 TYPE(타입)을 등록한다.
CREATE OR REPLACE TYPE TYPE_NAME AS OBJECT(
COL1 NUMBER(22),
COL2 NUMBER(4),
COL3 NUMBER(22),
COL4 NUMBER(22)
)
TABLE(테이블)을 생성한다.
CREATE OR REPLACE TYPE TABLE_NAME AS TABLE OF TYPE_NAME ;
FUNCTION(함수)을 생선한다.
create or replace
FUNCTION FUNCTION_NAME(
// 인자 값.
PARAM1 IN VARCHAR,
PARAM2 IN NUMBER,
PARAM3 IN NUMBER
)
RETURN TABLE_NAME
IS
// 반환할 변수를 생성하고 반환할 테이블을 지정.
RESULT_NAME TABLE_NAME;
BEGIN
// TYPE과 SELECT항목.
SELECT TYPE_NAME ( COL1 , COL2 , COL3 , COL4 )
// 반환 할 변수에 담기.
BULK COLLECT INTO RESULT_NAME
// 데이터 가져오는 테이블 , 실질적인 동작쿼리
FROM SOME_TABLE ;
// 반환할 데이터 설정.
RETURN RESULT_NAME;
END FUNCTION_NAME;
TYPE , TABLE , FUNCTION이 생성된 것을 확인할 수 있다.
함수 사용하기.
SELECT COL1 , COL2 , COL3
FROM TABLE( FUNCTION_NAME( PARAM1 , PARAM2 , PARAM3 ) )
반응형
'Oracle' 카테고리의 다른 글
[ Oracle ] (0) | 2021.11.16 |
---|