오라클에서 long type 컬럼 검색하는 방법 안내

오래만에 오라클 관련 글을 포스팅 하게 되었습니다. 일반적인 게시판이라고 하면, varchar2(4000) 이나 clob으로 게시판을 구성하는 편인데, 특이하게도 long type 컬럼을 사용하는 경우가 생겼습니다.

 

평소에는 데이터를 담아 두고 꺼내쓰기만 하는데 검색기능이 급하게 추가가 되었는데, 신입 개발자분이 이걸 처리를 못하고 있는 듯해서 함수를 만들어서 long type을 varchar2(4000)으로 변환해서 사용할 노 있는 함수를 알려주게 되었는데요. 까먹을듯 해서 블로그에 올려 둡니다.

 

내용은 간단합니다. long으로 되어있는 컬럼 타입을 varchar2형태로 함수에서 임시변수에 담아 그걸 검색하는 방법으로 검색을 구현하게 되어 있었습니다.

 

당연하게도 rowid를 이용한 함수를 거친 검색이기 때문에 속도에는 느릴 수 밖에 없을듯 합니다.

 

CREATE OR REPLACE Funciton search_long(r rowid)

return varchar2 is temporary_varchar varcahr2(4000);

BEGIN

SELECT (long타입컬럼) into temporary_varchar from (테이블) where rowid=r;

return temporary_varchar;

END;

 

출처 :

https://stackoverflow.com/questions/769787/what-is-the-best-way-to-search-the-long-datatype-within-an-oracle-database