一個簡單的oracle函式返回陣列的例子
create or replace type t_ret_table is table of varchar2(20);
create or replace function f_test(var_num in integer) return t_ret_table is
var_out t_ret_table;
begin
var_out := t_ret_table();
var_out.extend(var_num);
for i in 1..var_num loop
var_out(i) := i;
end loop;
return var_out;
end f_test;
/
set serverout on
declare
aa t_ret_table;
begin
aa := f_test(10);
for i in 1..aa.count loop
dbms_output.put_line(aa(i));
end loop;
end;
/
一個分隔字串的例子:
把'a|||b|||c'字串分隔成
a
b
c
create or replace function f_test(var_str in string) return t_ret_table is
var_out t_ret_table;
var_tmp varchar2(2000);
var_element varchar2(2000);
begin
var_tmp := var_str;
var_out := t_ret_table();
while instr(var_tmp,'|||')>0 loop
var_element := substr(var_tmp,1,instr(var_str,'|||')-1);
var_tmp := substr(var_tmp,instr(var_str,'|||')+3,length(var_tmp));
var_out.extend(1);
var_out(var_out.count) := var_element;
end loop;
var_out.extend(1);
var_out(var_out.count) := var_tmp;
return var_out;
end f_test;
/
set serverout on
declare
aa t_ret_table;
begin
aa := f_test('a|||b|||c');
for i in 1..aa.count loop
dbms_output.put_line(aa(i));
end loop;
end;
/
create or replace function f_test(var_str in string) return t_ret_table PIPELINED
as
var_tmp varchar2(2000);
var_element varchar2(2000);
begin
var_tmp := var_str;
while instr(var_tmp,'|||')>0 loop
var_element := substr(var_tmp,1,instr(var_str,'|||')-1);
var_tmp := substr(var_tmp,instr(var_str,'|||')+3,length(var_tmp));
pipe row(var_element);
end loop;
pipe row(var_tmp);
return;
end f_test;
/
select * from table(f_test('a|||b|||c'));
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18921899/viewspace-1017657/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一個閉包函式的簡單例子函式單例
- javascript陣列的map()函式用法簡單介紹JavaScript陣列函式
- 一個測試陣列用法的例子陣列
- 陣列排序函式-php陣列函式(一)陣列排序函式PHP
- 擼一個簡單的MVVM例子MVVM
- 從PL/SQL儲存函式返回陣列SQL儲存函式陣列
- 將使用回撥函式作為引數的函式改造為返回 Promise 的一個具體例子函式Promise
- 封裝一個簡單的動畫函式封裝動畫函式
- Python函式:一個簡單的迭代Python函式
- python List,它不是一個簡單的陣列Python陣列
- 一個使用getopt()函式獲取命令列引數的例子(轉)函式命令列
- 一個最簡單的 Github workflow 例子Github
- 一個簡單的觀察者模式例子模式
- 一個簡單的Ajax請求例子
- onethink中 list_to_tree 函式 是如何返回陣列的函式陣列
- 字元陣列的幾個應用函式字元陣列函式
- 簡單探討sum()函式返回null的問題函式Null
- 陣列的七個 API 的簡單實現陣列API
- 一個簡單的netty通訊的例子Netty
- WebRTC:一個視訊聊天的簡單例子Web單例
- 一個簡單的例子教會您使用javapJava
- 一個簡單的spring-boot例子Springboot
- 一個簡單的例子帶你理解HashmapHashMap
- select multiple返回的value值是一個陣列陣列
- Oracle中coalesce函式的簡單理解Oracle函式
- 一個返回值函式函式
- 一些簡單的函式函式
- javascript實現的對陣列每一個元素都執行一個函式JavaScript陣列函式
- Java多型的一個簡單入門的例子Java多型
- 總結一些常用的陣列函式陣列函式
- spring攔截器的一個簡單例子Spring單例
- oracle中的單行函式(一)Oracle函式
- 編寫一個物件&&陣列深copy函式方法物件陣列函式
- 編寫一個函式,實現兩個整型陣列的合併(將兩個整型陣列a和b合併成一個從小到大有序排列的整形陣列c,並在主函式中測試)。函式陣列
- 簡單介紹Lua一維陣列與多維陣列的使用陣列
- PHP陣列函式的時間複雜度清單PHP陣列函式時間複雜度
- JUnit概述及一個簡單例子單例
- 【陣列】1550. 存在連續三個奇數的陣列(簡單)陣列