實(shí)際項(xiàng)目中,經(jīng)常遇到的三種復(fù)合類型變量。結(jié)合部分項(xiàng)目實(shí)例做個(gè)整理,具體如下:

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:
域名注冊(cè)、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、
東河網(wǎng)站維護(hù)、網(wǎng)站推廣。
記錄類型:記錄類型可以包含一個(gè)或多個(gè)成員,而每個(gè)成員的類型可以不同,成員可以是標(biāo)量類型。也可以引用其他的變量類型。這種類型的特點(diǎn)是比較適合處理查詢語(yǔ)句中有多個(gè)列的情況,最常用的情況就如在調(diào)用某一張表中的一行記錄。
索引表類型(關(guān)聯(lián)數(shù)組):索引表類型和數(shù)組相似,他利用鍵值查找對(duì)應(yīng)的值,這里的鍵值同真正數(shù)組的下標(biāo)不同,索引表中下標(biāo)允許使用字符串。數(shù)組的長(zhǎng)度不是固定值,可以根據(jù)需要自動(dòng)增長(zhǎng)。其中的鍵值是整數(shù)或是字符串,其中的值就是普通的標(biāo)量類型,也可以是記錄類型。(下標(biāo)從1開始)
VARRAY 變長(zhǎng)數(shù)組:變長(zhǎng)數(shù)組的元素個(gè)數(shù)需要限制,他是一個(gè)存儲(chǔ)有序元素的集合,數(shù)組的下標(biāo)從1開始,適合較少數(shù)據(jù)時(shí)使用。
eg1:記錄類型-
declare
type pro_x is record
(v_id product_info.id%type,
v_name varchar2(10),
v_price number(8,2));
v_pro pro_x;//聲明變量 v_pro,v_pro的數(shù)據(jù)類型是pro_x類型。
begin
select id,name,price into v_pro from product_info where id='11011211410086';
dbms_output.put_line('id:'||v_pro.v_id||','||'name:'||v_pro.v_name||','||'price:'||v_pro.v_price);
end;
記錄類型聲明方式:type type_name is record(field_name datatype[not null]{:=|default}expression) 說(shuō)明:not null 可以約束記錄成員非空。
可以使用%rowtype進(jìn)行代替,實(shí)現(xiàn)上述功能。即:
declare
v_pro product_info%rowtype;
begin
select id,name,price into v_pro from product_info where id='11011211410086';
dbms_output.put_line('id:'||v_pro.id||','||'name:'||v_pro.name||','||'price:'||v_pro.price);
end;
eg2:索引表類型(關(guān)聯(lián)數(shù)組)---×××校驗(yàn)
declare
type TiArray is table of integer;
type TcArray is table of varchar2(1);
type id_emp is table of qlr_info%type
index by binary_integer;
rst id_emp;
W TiArray;
A TcArray;
S integer;
tab varchar2(200);
zuihyw varchar2(1);
jieguo number;
shenfzh varchar2(20);
cursor c is
select zjbh from qlr_info where length(zjbh)=18 and zjzl='居民×××' and regexp_like(substr(zjbh,1,17),'^[0-9]*$');//regexp_like(substr(zjbh,1,17),'^[0-9]*$') 表示查找截取的前17為字符串為數(shù)字。^:匹配開始位置;$:匹配結(jié)束位置;*:匹配零次或多次。
begin
W:=TiArray(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
A:=TcArray('1','0','X','9','8','7','6','5','4','3','2');
for emc in c
loop
S:=0;
shenfzh:=emp.zjbh;
for i in 1..17 loop
S:=S+to_number(substr(shenfzh,i,1)*W(i));
end loop;
jieguo:=S mod 11;
zuihyw:=A(jieguo+1);
zuihyw2:=substr(shenfzh,18,1);
if (zuihyw<>zuihyw2) then
dbms_output_line('證件編號(hào):'emp.zjbh||'錯(cuò)誤!')
end if;
end loop;
end;
eg2.1使用字符串為鍵值的索引表
declare
type pro is table of number(8) index by varchar2(20);
v_pro pro;
begin
v_pro('test'):=253;
v_pro('test1'):=256;
dbms_out.put_line(v_pro.first ||','||v_pro(v_pro.first));
end;
索引表類型聲明:
type type_name is table of {column_type|variable_name%type|table_name%rowtype}[not null] index by {pls_integer|binary_integer|varchar2(v_size)}
eg3,變長(zhǎng)數(shù)組
declare
type varr is varray(10) of varchar2(10);//定義數(shù)組長(zhǎng)度10
v_pro varr:=varr('1','2');//初始化了兩個(gè)元素(最多可以初始化10個(gè))
begin
v_pro(1):='haha';
v_pro(2):='ouou';
dbms_output.put_line(v_pro(1)||','||v_pro(2));
end;
變長(zhǎng)數(shù)組聲明:type type_name is {varray|varying array}(size_limit)of element_type[not null]
2016.05.11
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文標(biāo)題:oracle三種復(fù)合類型變量分析-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://chinadenli.net/article12/ddgodc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、軟件開發(fā)、定制網(wǎng)站、商城網(wǎng)站、面包屑導(dǎo)航、Google
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)