SQLHUB 4.1版本中增加了字典管理功能。
字典提供了高效的編號和名稱轉換功能,字典的內容是一個查詢sql,也可以是一個SQL程序程序塊。如果返回結果為一列,可以用數字按順序提取,如果大於一列,第一列作編碼,第二列作名稱。
可以用函數map進行編碼轉換,用函數dic獲取字典數據。
字典允許設置是否啟用緩存,默認為啟用。不啟用緩存獲取到的實時數據。啟用緩存後,獲取到的是緩存數據,可以設置重新裝載緩存。
常量字典可以使用serial、enum、rowset等函數來構造。
利用字典我們可以很容易實現對照轉換
create dictionary gbk2big as
begin
gbk := ''啊阿埃挨哎唉哀皚癌藹矮艾。。'';
big5 := ''啊阿埃挨哎唉哀皚癌藹矮艾。。'';
select a.f1 gbk,b.f1 big5 from splitn(gbk,1) a line join splitn(big5,1) b;
end;
create or replace procedure gbk2big(str) as
replace(map(''gbk2big'',(select strsum(f1,'','') from splitn(str,1)),'',''),'','');
select gbk2big(''人閒桂花落,夜靜春山空。月出驚山鳥,時鳴春澗中。'');