達夢資料庫常規資料型別總結之二

2021-10-03 14:13:12 字數 1723 閱讀 7059

集合型別

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.何時使用索引...