注册

关于数组的定义,我自定义了一个数组类型,但是我翻阅了好多官方的文档找不到获取数组的长度,希望能提供关于数组的定义和使用的文档或文章

maybe 2023/06/14 1052 1

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:centos
【CPU】:
【问题描述】*:
CREATE OR REPLACE FUNCTION fn_gettypecodebyindex(idx int)
RETURN text
as
i_mod int;
i_shang int;
i_array_length int;
iArrayIndex array_table :=array_table('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
BEGIN
i_array_length:=array_length(iArrayIndex,1);
raise notice '%',i_array_length;
if idx=0 THEN
return '';
end if;
i_mod=idx%i_array_length;
raise notice 'i_mod:%',i_mod;
i_shang=idx/i_array_length;
return fn_gettypecodebyindex(i_shang) || iArrayIndex[i_mod+1];
end;
我自定义了一个长度为36数组类型,上面的的函数应该如果改写
CREATE TYPE array_table AS VARRAY(36) OF text;

回答 0
暂无回答
扫一扫
联系客服