oracle存儲數組
『壹』 oracle中的存儲過程可以用數組嗎
首先你需要定義一個數組類型,然後定義這個數組變數declaretypea_typeistableofnumber;--typea_typeisarray(10)ofnumber;--下面一種定義方式則指定了該數組的最大元素個數aa_type:=a_type();--定義並初始化一個數組變數begina.extend(3);--數組擴展到3個元素a(1):=1;a(2):=10;a(3):=100;end;另外數組還有一下方法和屬性first--第一個元素下標last--最後一個元素下標count--數組元素個數prior(n)--下標n的前一個元素下標next(n)--下標n後一個元素下標extend(n)--添加n個數組元素,不帶參數添加一個數組元素delete(n)--刪除數組中下標為n的元素,不帶參數刪除整個數組元素
『貳』 oracle中存儲過程怎麼定義一個數組
在PL/sql中是沒有數組(Array)概念的。但是如果程序員想用Array的話,就得變通一下,用TYPE 和Table of Record來代替多維數組
『叄』 oracle 存儲過程 數組循環
declare
type typ_rec is record of (student.name%type, student.age%type); --集合變數
type typ_tab is table of typ_rec index by binary_integer; --以集合變數為單位的table數組
rec_sql typ_rec;
another_rec student%rowtype; --跟rec_sql一樣
begin
--for循環里的rec_tmp不用定義,可以自動生成的
for rec_tmp in (select t.name, t.age from student t) loop
dbms_output.putline(rec_tmp.name || ' ''s age + 1 = ' || to_char(rec_tmp.age + 1) );
end loop;
exception
when others then
return;
end;
『肆』 Oracle 存儲過程 數組做參數 求實例
packtest.test(v_string,v_int);
你的v_string輸入參數沒有初始化。
v_string system.packtest.string_array := system.packtest.string_array('a','b','c');