oracle陣列分類及簡析

2021-12-29 23:05:40 字數 4006 閱讀 2872

oracle陣列一般可以分為固定陣列和可變陣列 

固定陣列 

sql**  

declare    

type v_ar is varray(10) of varchar2(30);     

my_ar v_ar:=v_ar('g','m','d','龔','帥');     

begin    

for i in 1..my_ar.count    

loop     

dbms_output.put_line(my_ar(i));     

end loop;     

end;    

declare  

type v_ar is varray(10) of varchar2(30);  

my_ar v_ar:=v_ar('g','m','d','龔','帥');  

begin  

for i in 1..my_ar.count  

loop  

dbms_output.put_line(my_ar(i));  

end loop;  

end;  

可變陣列 

一維陣列 

sql**  

declare    

type v_table is table of varchar2(30) index by binary_integer;     

--型別可以是前面的型別定義,index by binary_integer子句代表以符號整數為索引,     

--這樣訪問表型別變數中的資料方法就是「表變數名(索引符號整數)」。     

my_table v_table;    www.2cto.com  

begin    

for i in 1..20     

loop     

my_table(i):=i;     

dbms_output.put_line(my_table(i));     

end loop;     

end;    

sql**  

declare  

type v_table is table of varchar2(30) index by binary_integer;  

--型別可以是前面的型別定義,index by binary_integer子句代表以符號整數為索引,  

--這樣訪問表型別變數中的資料方法就是「表變數名(索引符號整數)」。  

my_table v_table;  

begin  

for i in 1..20  

loop  

my_table(i):=i;  

dbms_output.put_line(my_table(i));  

end loop;  

end;  

多維陣列--多條記錄 

sql**  

declare    

type v_table is table of t_user%rowtype index by binary_integer;     

my_table v_table;     

begin    

select * bulk collect into my_table from t_user;     

for i in 1..my_table.count/10 --my_table.count/10取到的值為四捨五入值     

loop     

dbms_output.put_line('suser--'||my_table(i).suser);     

dbms_output.put_line('name---'||my_table(i).name);     

dbms_output.put_line('***----'||my_table(i).***);     

end loop;    www.2cto.com  

end;    

sql**  

declare  

type v_table is table of t_user%rowtype index by binary_integer;  

my_table v_table;  

begin  

select * bulk collect into my_table from t_user;  

for i in 1..my_table.count/10 --my_table.count/10取到的值為四捨五入值  

loop  

dbms_output.put_line('suser--'||my_table(i).suser);  

dbms_output.put_line('name---'||my_table(i).name);  

dbms_output.put_line('***----'||my_table(i).***);  

end loop;  

end;  

多維陣列--單條記錄 

sql**  

declare    

type v_table is table of t_user%rowtype index by binary_integer;     

my_table v_table;     

begin    

select * into my_table(9) from t_user where suser='admin';     

--my_table(i) i可以為任意整數,但取值時必須保持以i一致;     

dbms_output.put_line('--suser--'||my_table(9).suser||'--name--'||my_table(9).name);      

end;    

sql**  

declare  

type v_table is table of t_user%rowtype index by binary_integer;  

my_table v_table;    www.2cto.com  

begin  

select * into my_table(9) from t_user where suser='admin';  

--my_table(i) i可以為任意整數,但取值時必須保持以i一致;  

dbms_output.put_line('--suser--'||my_table(9).suser||'--name--'||my_table(9).name);   

end;  

自定義陣列 

sql**  

create or replace type varray_list as varray(30) of varchar2(50);     

--使用自定義陣列     

create or replace procedure show_list(p_varlist in varray_list)     

is    

v_str varchar2(50);     

begin    

for i in 1..p_varlist.count      

loop     

v_str:=p_varlist(i);     

dbms_output.put_line('v_str='||v_str);     

dbms_output.put_line('p_varlist('||i||')='||p_varlist(i));     

end loop;     

end;     

sql**  

declare    

my_var varray_list:=varray_list('g','m','d','龔','帥');     

begin    

show_list(my_var);      

end;      

作者 kzerg

Oracle共享池簡析

oracle共享池 oracle共享池 share pool 屬於sga,由庫快取記憶體 library cache 和資料字 典快取記憶體 data dictionary cache 組成。庫快取記憶體 www.2cto.com oracle引入庫快取記憶體的目的是共享sql和pl sql 伺服器...

簡析陣列方法

var arr 2 11,50 7,9 console.log arr.sort 按照字串按位比較方式來判斷大小的 arr.sort function a,b console.log arr var arr 1 2,3 4 1234 var str arr.join console.log str,...

簡析分類樹與回歸樹

以c4.5分類樹為例,c4.5分類樹在每次分枝時,是窮舉每乙個feature的每乙個閾值,找到使得按照feature 閾值,和feature 閾值分成的兩個分枝的熵最大的閾值 熵最大的概念可理解成盡可能每個分枝的男女比例都遠離1 1 按照該標準分枝得到兩個新節點,用同樣方法繼續分枝直到所有人都被分入...