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 39999 게시물 읽기
No. 39999
2GB이상일때 LONG 대체할수있는 것은 무엇인가요?
작성자
궁금
작성일
2013-02-05 17:33ⓒ
2013-02-05 18:11ⓜ
조회수
5,809

FUNCTION 에서,

USER_VIEWS 테이블의 TEXT를 한 변수에 담으려합니다.

LONG으로 선언했는데,, (TEXT가 LONG입니다.)

확인해보니 32767보다크면 LONG으로 읽을수가 없군요,,

CLOB를 써보려했는데 잘되지않네요

USER_VIEWS의 컬럼 TEXT속성을 LOB로 바꿀수있나요?

그리고, 이런경우 다른 해답은 없는지요?

 

구글링하다가,

http://nilriri.blogspot.kr/2012/11/plsql-long-select.html

이곳을 찾았습니다.

이곳의 내용을 아래처럼 쓰려는데,, 이것도 아시는분 좀 도와주세요 ,,

CREATE OR REPLACE FUNCTION f_viewsrc (a_index INT, a_pos INT)
   RETURN VARCHAR2
IS
  -- v_sql     VARCHAR2 (32767) := 'SELECT LONG컨텐츠컬럼 FROM 테이블명 WHERE PK컬럼 = :변수1 ';

   v_sql     VARCHAR2 (32767) := 'SELECT TEXT FROM USER_VIEW WHERE VIEW_NAME = :변수1 ';

   v_csr     BINARY_INTEGER;
   v_piece   VARCHAR2 (32767);
   v_clob    CLOB;

   v_plen    INTEGER          := 32767;
   v_tlen    INTEGER          := 0;
   v_rows    INTEGER;
BEGIN
   v_csr := DBMS_SQL.open_cursor;

   DBMS_SQL.parse (v_csr, v_sql, DBMS_SQL.native);
   DBMS_SQL.bind_variable (v_csr, ':변수1', a_index);

   DBMS_SQL.define_column_long (v_csr, 1);
   v_rows := DBMS_SQL.execute_and_fetch (v_csr);

   LOOP
      DBMS_SQL.column_value_long (v_csr, 1, 32767, v_tlen, v_piece, v_plen);

      -- 조회된 결과값을 CLOB컬럼에 담는다.
      v_clob := v_clob || v_piece;
     
      -- 다음 조회 시작 위치를 계산한다.
      v_tlen := v_tlen + 32767;

      EXIT WHEN v_plen < 32767;
   END LOOP;

   RETURN SUBSTR (v_clob, a_pos, 2000);
END;

 

[Top]
No.
제목
작성자
작성일
조회
40002묶어서 표현하고 싶은데 잘 안되네요.. [2]
Jinho Jeong
2013-02-07
5155
40001오라클에서 left outer join과 (+)를 사용했을 경우 Performance 차이 [1]
초보
2013-02-06
6124
40000DBA_FREE_SPACE 정보에 없는 테이블 스페이스?
신형우
2013-02-06
5252
399992GB이상일때 LONG 대체할수있는 것은 무엇인가요?
궁금
2013-02-05
5809
39996테이블간 복사 [1]
구경준
2013-02-05
5529
39995고수님들 부탁드려요 ㅠㅠ [1]
힘들힘들
2013-02-04
5512
39994LIKE '%%' 를 쓸때 %%안에쿼리를 쓰려면요? [1]
질문
2013-02-04
5841
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다