(1)記錄型別
--自定義record型別
declare
type example_record_type is record(
name emp.ename%type,
salary emp.salary%type,
dno emp.deptno%type
);
--宣告record型別變數
example_record example_record_type;
begin
--pl/sql語句
end;
--使用%rowtype屬性定義記錄變數
%rowtype屬性可以基於表或檢視定義記錄變數。使用該屬性定義記錄變數時,記錄成員的名稱和型別與表或檢視
列的名稱和型別完全相同。
--identifier table_name%rowtype;
--identifier view_name%rowtype;
(2)pl/sql表
索引表的小表可以為負值,而且其元素個數沒有限制。
--語法如下:
type type_name is table of elment_type [not null] index by key_type;
key_type用於指定索引表元素下標的資料型別(binary_integer,pls_integer,,varchar2);
identifier type_name;
--例:
set serveroutput on
declare
type ename_table_type is table of emp.ename%type index by binary_integer;
ename_table ename_table_type;
begin
select ename into ename_table(-1) from emp
where empno = &no;
dbms_output.put_line(ename_table(-1));
end;
/ (3)巢狀表
巢狀表也是一種用於處理pl/sql陣列的資料型別。巢狀表的元素下標從1開始,並且元素個數沒有限制。高階語言的陣列元素 值是順序的,而巢狀表元素的陣列元素值可以是稀疏的。
--語法
type type_name is table of element_type;
identifier type_name;
--例:
--在pl/sql塊中使用巢狀表
declare
type ename_table_type is table of emp.ename%type;
ename_table ename_table_type;
begin
ename_table := ename_table_type("mary", "mary", "mary");
select ename into ename_table(2) from emp
where empno = &no;
dbms_output.put_line(ename_table(2));
end; /
--在表列中使用巢狀表
create type phone_type is table of varchar2(20); /
create table employee(
id number(4),
name varchar2(10),
sal number(6,2),
phone phone_type
)nester table phone store as phone_table;
(4)變長陣列(varray)
其元素下標從1開始,並且元素的最大個數有限制。
--語法
type type_name is varray(size_limit) of element_type [not null];
identifier type_name;
--例:
--在pl/sql塊中使用變長陣列
declare
type ename_table_type is varray(20) of emp.ename%type;
ename_table ename_table_type:=ename_table_type("mary", "mary", "mary");;
begin
select ename into ename_table(1) from emp
where empno = &no;
dbms_output.put_line(ename_table(1));
end; /
--在表列中使用變長陣列
create type phone_type is varray(20) of varchar2(20); /
create table employee(
id number(4),
name varchar2(10),
sal number(6,2),
phone phone_type
);
python復合型別 python復合型別
鏈結 list python的列表的特點 可以隨時新增和刪除元素 可以做的操作有 切片,新增,刪除,查詢,修改,排序 列表元素可以是不同型別,在型別不同的情況下就無法排序 列表是有序的 定義小馬列表 li twilight pinkiepie rainbow dash 插入 insert self ...
復合型別 Rust常用的復合資料型別
1.陣列建立 一段連續空間中,儲存了同型別的資料。fn main arr1 0 println arr2 0 arr2 0 複習一下 因為拷貝時是複製語義,因此arr2還在 執行結果 arr1 0 1 arr2 0 1 為啥這個陣列是複製語義,如果還不明白這個問題,需要回上一期看一下哈。2.一些陣列...
復合資料型別
復合資料型別 作用 封裝資料 多種不同型別資料存放在一起 應存放在全域性,在訪問結構體中的變數時,應用stu.id stu.name 初始化的方式 在對陣列進行初始化時 strcpy stu.name,zhangsan 在對指標進行初始化時 char name 對name進行初始化 stu.name...