我有一個管道函式是這樣:
create or replace function fun1 return table_type1 pipelined as
v row_type1;
begin
for myrow in (select KEYID,HOS_CODE, HOS_NAME from tableTest) loop
v := row_type1(myrow.HOS_CODE, myrow.HOS_NAME);
pipe row (v);
end loop;
return;
end;
我想把其中查詢的陳述句換成SQL拼接出來字串。應該如何寫呢?
for myrow in 里面可以放一個字串嗎?還是如何實作?
uj5u.com熱心網友回復:
直接 使用regexp_substr 和 regexp_count 兩個函式;樓主先百度一下,有問題再追問;
uj5u.com熱心網友回復:
感謝您的回復。能否告訴我是怎么應用的呢?
uj5u.com熱心網友回復:
-- 樓主先搜索一下,有了具體問題再問吧,這次給你寫出來
SQL> begin
2 for x in (select regexp_substr('AAA,BB,FF,DDDD','[^,]+',1,level) item
3 from dual
4 connect by rownum <= regexp_count('AAA,BB,FF,DDDD',',')+1
5 ) loop
6
7 dbms_output.put_line(x.item);
8 end loop;
9 end;
10 /
AAA
BB
FF
DDDD
PL/SQL procedure successfully completed
SQL>
uj5u.com熱心網友回復:
不好意思,你好像沒有理解我的意思。
我是想SQL查詢陳述句是用字串拼接的。就像下面這個地址一樣,然后是用管道函式的方式實作的。
http://k11hao.iteye.com/blog/1101988
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/109201.html
標籤:開發
