oracle 儲存過程遍歷資料

2021-08-19 17:08:06 字數 1526 閱讀 8480

摘要: oracle儲存過程,自定義資料型別,集合,遍歷取值

0.前言   

在oracle的儲存過程中,可能會遇到資料處理,假如我們目前的功能在乙個packages中

packages封裝了多個不同功能的procedure,我們在乙個procedure裡面進行統計

在另外乙個procedure進行計算 這就需要乙個存放結果集的地方    

以前的解決方案是:建立了乙個臨時表,資料統計出來後,放入臨時表中

在另外乙個procedure中取出來資料,再進行計算 這樣需要讀寫操作 浪費效能

我們可以使用oracle的自定義資料型別去建立集合,進行操作

1.packages

create or replace package test_lu is

-- purpose : 

-- public type declarations

procedure test1;

procedure test2;

procedure test3;

end test_lu;

2.packages bodies

create or replace package body test_lu is

---建立乙個自定義資料型別

type c_user is record

(   id number,

name varchar2(30)

);  

---根據自定義資料型別建立乙個集合

type c_user_array is table of c_user index by binary_integer;  

---集合物件

user_array c_user_array;

---資料物件

user c_user;

---計數器

v_counter number;

procedure test1 is

begin 

user.id:=1;

user.name:='luu';

user_array(user.id):=user;

user.id:=2;

user.name:='lii';

user_array(user.id):=user;    

end;

procedure test2 is

begin 

for v_counter in 1..user_array.count loop

dbms_output.put_line(user_array(v_counter).id||'...'||user_array(v_counter).name);

end loop;        

end;

procedure test3 is

begin

test1;

test2;

end;

end test_lu;

3.輸出結果

1...luu

2...lii

**:

mysql儲存過程之游標遍歷資料表

出處 1 begin 2 declare done int default 0 3 4 declare currentlingqi int 5 6 declare shizuname varchar 30 7 宣告游標 8 declare rs cursor for select nodename,...

mysql儲存過程之游標遍歷資料表

原文 mysql儲存過程之游標遍歷資料表 今天寫乙個mysql儲存過程,根據自己的需求要遍歷乙個資料表,因為對儲存過程用的不多,語法不甚熟悉,加之儲存過程沒有除錯環境,花了不少時間才慢慢弄好,故留個痕跡。1 begin 2 declare done int default 0 3 4 declare...

js遍歷資料

1 使用object.keys 遍歷 返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含symbol屬性 var obj object.keys obj foreach function key 輸出結果 0 a1 b 2 c2 使用for in 遍歷 迴圈遍歷物件自身的和繼承的可列舉屬...