작업 중에 object로 type를 선언해서 작업해야 할 일이 생겼는데 잘 진행이 되지 않아서 질문 드립니다.
CREATE TYPE HEADER IS OBJECT (
ATTRIBUTE1 VARCHAR2(240),
ATTRIBUTE2 VARCHAR2(240),
ATTRIBUTE3 VARCHAR2(240),
ATTRIBUTE4 VARCHAR2(240),
ATTRIBUTE5 VARCHAR2(240),
ATTRIBUTE6 VARCHAR2(240),
ATTRIBUTE7 VARCHAR2(240),
ATTRIBUTE8 VARCHAR2(240),
ATTRIBUTE9 VARCHAR2(240),
ATTRIBUTE10 VARCHAR2(240),
ATTRIBUTE11 VARCHAR2(240),
ATTRIBUTE12 VARCHAR2(240),
ATTRIBUTE13 VARCHAR2(240),
ATTRIBUTE14 VARCHAR2(240),
ATTRIBUTE15 VARCHAR2(240)
);
CREATE TYPE HEADER_TBL IS TABLE OF HEADER ;
위와 같이 header type을 생성하였습니다.
그리고 프로시져에서 해당 object를 사용할려고 하는데요.
procedure test () is
-- OBJECT로 선언된 TYPE을 가져다가 쓰려는데 변수 선언하는 방법을 잘 모르겠더군요.
L_HEADER HEADER_TBL; <<---------- 이부분입니다.(변수선언 방법)
BEGIN
TEST2( L_HEADER IN HEADER_TBL
);
END;
대충 작성을 하였는데 일단 변수 선언이 지대로 되지를 않아서 상기 변수 선언 부분과
TEST2() PROCEDURE 호출부분의 L_HEADER 부분에서 에러가 발생하더군요.
외부에 생성된 OBJECT TYPE을 특정 PROCEDURE에서 선언하고 사용할 수 있는 방법을 몰라서 고생하고 있습니다.
혹시 아시는 분 계시면 조언을 구해봅니다.
|