集合型別
1.varray是一種具有可伸縮性的陣列,陣列中的每個元素具有相同的資料型別。
語法:type《陣列名》 is varray(《常量表示式》) of 《資料型別》;
例子:declare
type my_array_type is varray(10) of varchar(100);
v my_array_type;
begin
v:=my_array_type();
print 'v.count()='||v.count();
for i in 1..8 loop
v.extend();
select name into v(i) from person where id=i;
end loop;
print 'v.count()=' || v.count();
for i in 1..v.count() loop
print 'v(' || i || ')=' ||v(i);
end loop;
end;
結果:v.count()=0
v.count()=8
v(1)=aa
v(2)=bb
v(3)=cc
v(4)=dd
v(5)=ee
v(6)=ff
v(7)=gg
v(8)=hh
影響了1條記錄
1條語句執行成功
2.索引表提供了一種快速、方便地管理一組相關資料的方法。索引表不需要使用者指定大小,其大小根據使用者的操作自動增長。
語法:type 《索引表名》 is table of《資料型別》 index by 《索引資料型別》;
例子:declare
type arr is table of varchar(100) index by int;
x arr;
begin
x(1) := 'test1';
x(2) := 'test2';
x(3) := x(1) || x(2);
print x(3);
end;
結果:test1test2
3.巢狀表:巢狀表類似於一維陣列,但與陣列不同的是,巢狀表不需要指定元素的個數,其大小可自動擴充套件。巢狀表元素的下標從1開始。
語法:type 《巢狀表名》 is table of 《元素資料型別》;
例子:declare
type info_t is table of sysdba.person.name %type;
i number:=0;
cursor c_name is select name from person;
info info_t:=info_t();
begin
for aname in c_name loop
i:=i+1;
info.extend;
info(i):=aname.name;
print (aname.name);
end loop;
for j in 1..info.count() loop
print(info(j));
end loop;
end;
結果:aa
bbcc
ddee
ffgg
hhaa
bbcc
ddee
ffgg
hh
達夢資料庫常規資料型別
1 數值資料型別 1.numeric型別 語法 numeric 精度 標度 功能 numeric 資料型別用於儲存零 正負定點數。其中 精度是乙個無符號整數,定義了總的數字數,精度範圍是 1 至 38,標度定義了小數點右邊的數字位數,定義時如省略精度,則預設是 16。如省略標度,則預設是 0。乙個數...
達夢資料庫日期格式化 達夢資料庫時間型別的使用介紹
在資料庫的日常使用過程中,無論是記錄服務啟動時間,還是儲存前端應用中的訂單時間,都離不開使用各類日期型別,本文就將給大家介紹dm7中各種時間型別的區別和使用注意事項。一 dm7中時間日期型別簡介 dm7中常用的時間日期型別有這三種date,time,timestamp。date 型別包括年 月 日資...
達夢資料庫和mysql索引引擎 達夢資料庫 索引
1.索引的種類和功能 聚集索引 每乙個普通表有且只有乙個聚集索引 唯一索引 索引資料根據索引鍵唯一 函式索引 包含函式 表示式的預先計算的值 位圖索引 對低基數的列建立位圖索引 位圖連線索引 針對兩個或者多個表連線的點陣圖索引,主要用於資料倉儲中 全文索引 在表的文字列上而建的索引。2.何時使用索引...