database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 35014 게시물 읽기
No. 35014
oracle object type 변수선언 관련 질문입니다.
작성자
김기환(fieber)
작성일
2008-12-23 15:44ⓒ
2008-12-23 15:46ⓜ
조회수
5,097

작업 중에 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에서 선언하고 사용할 수 있는 방법을 몰라서 고생하고 있습니다.



혹시 아시는 분 계시면 조언을 구해봅니다.

이 글에 대한 댓글이 총 1건 있습니다.

CREATE TYPE HEADER IS OBJECT (   
  ATTRIBUTE1   VARCHAR2(240),
 ATTRIBUTE2   VARCHAR2(240)
);
/
CREATE TYPE HEADER_TBL IS TABLE OF HEADER ;
/

set serveroutput on
create or replace procedure pr_obj
is
v header_tbl;
begin
dbms_output.enable;
v := header_tbl();
v.extend();
dbms_output.put_line(v.count);
v(1) := Header('a','b');
dbms_output.put_line(v.count);
end;
/
create or replace procedure pr_obj2
(
 ar_tbl in out nocopy header_tbl
)
is
begin
dbms_output.enable;
ar_tbl.extend();
dbms_output.put_line(ar_tbl.count);
ar_tbl(1) := Header('a','b');
dbms_output.put_line(ar_tbl.count);
end;
/

declare
v header_tbl := header_tbl(); 
begin
 pr_obj2(v);
 dbms_output.put_line(v(1).ATTRIBUTE1);
end;
/

김흥수(protokhs)님이 2008-12-24 09:38에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
35017TG4MSQL 설치 후 TNS에러!!! [2]
유성준
2008-12-24
3806
35016ora-12535 오류가 뜹니다. [1]
김진규
2008-12-24
3707
35015nologging 변경 [2]
정태환
2008-12-23
4829
35014oracle object type 변수선언 관련 질문입니다. [1]
김기환
2008-12-23
5097
35013오라클 9i 패치 파일...
이문철
2008-12-23
4012
35012c 파일을 pro-c로 역변환 방법...
파주
2008-12-23
2433
35011내부에 날리는 TNSPING 응답이 느리네요.. 왜그럴까요? [3]
골머리
2008-12-23
5226
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다