新聞中心
Oracle存儲(chǔ)過(guò)程中如何使用數(shù)組(附范例)
在PL/SQL中是沒有數(shù)組(Array)概念的,但是如果程序員想用Array的話,可以用TYPE和 Table of Record變通一下,來(lái)代替多維數(shù)組.
網(wǎng)站設(shè)計(jì)制作過(guò)程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營(yíng)了十載的成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司。
oracle 存儲(chǔ)過(guò)程中如何使用數(shù)組,請(qǐng)給一個(gè)能調(diào)試成功的例子
oracle這么強(qiáng)大的數(shù)據(jù)庫(kù)能使用數(shù)組的
在oracle中,數(shù)組主要是用來(lái)存儲(chǔ)批量數(shù)據(jù),一次性的對(duì)數(shù)據(jù)庫(kù)進(jìn)行插入,更新,刪除操作。
下面給你一個(gè)批量插入的例子,其他都類似的
這是我的blog上面有例子,你自己看看吧。
oracle的plsql怎么儲(chǔ)存數(shù)組
TYPE MTBL IS TABLE OF NVARCHAR2(256) INDEX BY BINARY_INTEGER;
這就是定義了一個(gè)下標(biāo)為整數(shù)的字符串類型配列的類型。使用的時(shí)候
TBL MTBL;TBL就是配列對(duì)象。
TYPE MMTBL IS TABLE OF NVARCHAR2(256) INDEX BY BINARY_INTEGER;
TYPE MTBL IS TABLE OF MMTBL IS INDEX BY BINARY_INTEGER;
這種一層套一層的,就類似java里的二維數(shù)組。同理往下推。
oracle存儲(chǔ)過(guò)程中如何使用數(shù)組
首先你需要定義一個(gè)數(shù)組類型,然后定義這個(gè)數(shù)組變量
declare
type a_type is table of number;
-- type a_type is array(10) of number;
-- 下面一種定義方式則指定了該數(shù)組的最大元素個(gè)數(shù)
a a_type := a_type(); -- 定義并初始化一個(gè)數(shù)組變量
begin
a.extend(3); -- 數(shù)組擴(kuò)展到3個(gè)元素
a(1) := 1;
a(2) := 10;
a(3) := 100;
end;
另外數(shù)組還有一下方法和屬性
first -- 第一個(gè)元素下標(biāo)
last -- 最后一個(gè)元素下標(biāo)
count -- 數(shù)組元素個(gè)數(shù)
prior(n) -- 下標(biāo) n 的前一個(gè)元素下標(biāo)
next(n) -- 下標(biāo) n 后一個(gè)元素下標(biāo)
extend(n) -- 添加 n 個(gè)數(shù)組元素,不帶參數(shù)添加一個(gè)數(shù)組元素
delete(n) -- 刪除數(shù)組中下標(biāo)為 n 的元素,不帶參數(shù)刪除整個(gè)數(shù)組元素
Oracle中如何使用數(shù)組存儲(chǔ)數(shù)據(jù)?比如寫一個(gè)函數(shù)將2^n次方的結(jié)果放在數(shù)組中?求詳細(xì)過(guò)程。。。謝謝
declare
--定義IntArray 類型,該類型是每個(gè)元素為int類型的數(shù)組
Type IntArray is table of int;
--定義一個(gè)IntArray 類型的變量
v_array IntArray := IntArray();
begin
--向數(shù)組中存入數(shù)據(jù)
for i in 1.. 100 loop
--需要擴(kuò)展數(shù)組
v_array.extend;
v_array(i) := i;
end loop;
--輸出數(shù)組的內(nèi)容
for i in 1.. 100 loop
dbms_output.put_line(v_array(i));
end loop;
end;
SQL set serverout on;
SQL declare
2 --定義IntArray 類型,該類型是每個(gè)元素為int類型的數(shù)組
3 Type IntArray is table of int;
4 --定義一個(gè)IntArray 類型的變量
5 v_array IntArray := IntArray();
6 begin
7 --向數(shù)組中存入數(shù)據(jù)
8 for i in 1.. 100 loop
9 --需要擴(kuò)展數(shù)組
10 v_array.extend;
11 v_array(i) := i;
12 end loop;
13
14 --輸出數(shù)組的內(nèi)容
15 for i in 1.. 100 loop
16 dbms_output.put_line(v_array(i));
17 end loop;
18 end;
19 /
1
2
3
4
5
6
7
8
9
10
此處省略90行
PL/SQL procedure successfully completed
SQL
分享文章:oracle如何保存數(shù)組 數(shù)據(jù)庫(kù)保存數(shù)組
本文鏈接:http://fisionsoft.com.cn/article/hgcged.html