2013-06-02 1 views
0

몇 가지 기능을 반환하는 어떤 방법이 있나요? 예를 들어 배열에? StillImage 형식으로 데이터베이스에있는 사진 몇 장을 반환해야합니다. 그러나 매핑을 잘하려면 블롭으로 변환해야합니다. 하지만 오라클의 유형이 복잡한 유형을 지원하지 않기 때문에 얼룩의 배열을 반환하는 어떤 종류의 메소드도 찾지 못했습니다.반환 목록/형식/오라클 11 BLOB의 배열

+1

'블롭의 테이블로 타입 t_blob 생성하기 ' –

답변

1

"오라클의 유형이 복합 유형을 지원하지 않습니다."라고 말하면 무슨 뜻인지 잘 모르겠습니다. 당신은, 그러나, 확실하게

에 BLOB

SQL> create type blob_nt is table of blob; 
    2/

Type created. 
의 컬렉션을 정의하고 대형 오브젝트 (BLOB)의 크기와 "약간은"당신에게 어떤 의미인지에 따라이 컬렉션 형식을

CREATE OR REPLACE FUNCTION get_blobs 
    RETURN blob_nt 
IS 
BEGIN 
    <<your logic>> 
END; 

을 반환하는 함수를 작성할 수 있습니다 희소 PGA 메모리에 여러 BLOB를로드하는 대신 개별 BLOB를 파이프하는 파이프 라인 테이블 함수를 작성하는 것이 더 효과적 일 수 있습니다.

+0

sth를 찾았습니다 : ""이것은 현재 연관 배열에 스칼라 타입 만 사용할 수있는 OCI 레이어의 제한 사항입니다. "blob, clobs, timestamps, intervals, 그리고 xmltypes는 사용할 수 없다"고 가정합니다. 그런 다음 블롭의 유형을 사용하지 않기로 결정했습니다. 그러나 참조 커서를 블롭으로 반환 할 수 있다고 생각합니까? ' 새 이름의 테이블을 만든 다음 이미지가있는 탁자 하나의 새가 많은 이미지를 가지고 있으므로 하나의 새의 모든 이미지를 하나의 함수로 반환하고 싶습니다 –

+1

@Fred - 클라이언트 API. 귀하의 응용 프로그램 아키텍처를 설명하고 데이터베이스에 액세스하는 데 사용하는 API를 설명 할 수 있습니까? 나는 당신이 사용하는 클라이언트 API가 BLOB 열 또는' SYS_REFCURSOR' BLOB 열을 포함합니다. –

+0

좋아, 내가 이해할 것 같아요. 나는 blob을 반환하는 것이 불가능하다고 생각했지만, sys_refcursor도 좋을 것입니다. 감사합니다! –