create table parent(
id number(10),
name varchar2(100),
title varchar2(10)
);create table child(
id number(10),
parent_id number(10),
child_name varchar2(100),
child_title varchar2(10),
child_content varchar2(200),
child_time timestamp
);create sequence seq_p_c_id
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
nocache;
drop type t_child_lst_map;
drop type t_child_lst;
drop type t_parent_lst;
create or replace type t_parent as object (
name varchar2(100),
title varchar2(10));/
create or replace type t_child as object (
child_name varchar2(100),
child_title varchar2(10),
child_content varchar2(200));/
create or replace type t_parent_lst as table of t_parent;
/create or replace type t_child_lst as table of t_child;
/create or replace type t_child_lst_map as table of t_child_lst;
/create or replace procedure proc_ins_parent_child(
i_parent_lst in t_parent_lst, --parent列表
i_child_map_lst in t_child_lst_map, --child列表集合,乙個map元素對應乙個child_lst,其下標與 parent列表的下標相同。
o_ret out number
) as
var_parent t_parent;
var_child_lst t_child_lst;
var_child t_child;
var_parent_id number;
var_child_id number;
begin
for i in 1..i_parent_lst.count loop
--取得parent各列的值
var_parent := i_parent_lst(i);
--取得parent_id;
select seq_p_c_id.nextval into var_parent_id from dual;
--插入parent表
insert into parent(
id,name,
title
)values(
var_parent_id,
var_parent.name,
var_parent.title
);--取得該parent對應的child列表
var_child_lst := i_child_map_lst(i);
for j in 1..var_child_lst.count loop
var_child := var_child_lst(j);
--取得child_id;
select seq_p_c_id.nextval into var_child_id from dual;
--插入child表
insert into child(
id,parent_id,
child_name,
child_title,
child_content,
child_time
)values(
var_child_id,
var_parent_id,
var_child.child_name,
var_child.child_title,
var_child.child_content,
systimestamp
);end loop;
end loop;
o_ret := 0;
exception when others then
begin
o_ret := -1;
raise;
end;
end proc_ins_parent_child;
/
一維陣列及二維陣列
c語言一維陣列 float arr1 3 oc一維陣列 其實oc是沒有一維陣列二維陣列的概念的,但是可以實現一維陣列和二維陣列的功能 nsarray array1 nsarray arraywithobjects 2.5,3.6,4.7 nil c 語言二維陣列 float indexarray 2...
二維陣列及二維陣列的遍歷
一 如果陣列的元素是一維陣列 則該陣列是二維陣列 如果陣列的元素是二維陣列 則該陣列是三維陣列 注意 二維陣列的長度 是陣列內一維陣列的個數 獲取二維陣列內的元素 第一步獲取該元素在哪乙個一維陣列內 第二步獲取該元素在一維陣列的那個位置 false var arr 1,2,3 var arr1 你好...
二維陣列及陣列例題
1.定義 二維陣列本質上是以陣列作為陣列元素的陣列,即 陣列的陣列 型別說明符 陣列名 常量表示式 常量表示式 於數學中的 矩陣 類似。2.二維陣列的遍歷,拷貝方式及其他用法上可完全延用一維陣列的方法。1.鍵盤上獲取不超過10位數字的整數 1 求位數 2 分別輸出每一位的數字 3 將整數逆序 pub...