Oacle group in 바 인 딩 변수 사용
Type created.
2.SQL> create or replace function str2varList( p_string in varchar2 ) return VarTableType 2 as 3 v_str long default p_string || ','; 4 v_n varchar2(2000); 5 v_data VarTableType := VarTableType(); 6 begin 7 loop 8 v_n :=instr( v_str, ',' ); 9 exit when (nvl(v_n,0) = 0); 10 v_data.extend; 11 v_data( v_data.count ) := ltrim(rtrim(substr(v_str,1,v_n-1))); 12 v_str := substr( v_str, v_n+1 ); 13 end loop; 14 return v_data; 15 end; 16 /
Function created.위의 함 수 를 실행 한 후 변수 S 로 테스트 합 니 다:SQL>var s varchar 2(100)SQL>exec:s:='a,b,c';
PL/SQL procedure successfully completed.
SQL> print s
S--------------------------------------------------------------------------------a,b,c
SQL> select * from table(str2varList(:s)) a;
COLUMN_VALUE--------------------------------------------------------------------------------abc
바 인 딩 변 수 를 사용 할 때 IN(select*from table(str2varList(:s)a 를 사용 할 수 있 습 니 다.)
지금 수정 을 해 야 돼 요.1.ARTICLECONTENT 에 있 는 ARTICLEID. 화해시키다
ANALYZE TABLE ARTICLECONTENT COMPUTE STATISTICS FOR ALL INDEXED COLUMNS;
create or replace function str2varList( p_string in varchar2 ) return VarTableType 2 as 3 v_str long default p_string || ','; 4 v_n varchar2(2000); 5 v_data VarTableType := VarTableType(); 6 begin 7 loop 8 v_n :=instr( v_str, ',' ); 9 exit when (nvl(v_n,0) = 0); 10 v_data.extend; 11 v_data( v_data.count ) := ltrim(rtrim(substr(v_str,1,v_n-1))); 12 v_str := substr( v_str, v_n+1 ); 13 end loop; 14 return v_data; 15 end;
프로그램 에서 사용 하 는 방법:
select v.articleid, v.zsturl, v.content, v.groupid, v.arr_gcid, v.path from v_csteel_news v where v.path in(select * from table(str2varList('xyzx,fdc,jx,sh,zc,dl,jd,dj,jcjs,xysj,xyzx,gjbz,jj,byq,qc,xyzs') )a) and v.rootgroupid =395 and rownum<=5
실제 테스트 에 따 르 면 속 도 는 많이 올 랐 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 작업 은 Clob 또는 NClob 데이터 형식의 저장 프로 세 스 인 스 턴 스 를 포함 합 니 다.텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.