为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:LINUX
【CPU】:
【问题描述】*:
CREATE OR REPLACE TYPE test.arr_type_test as varray(65534) of text;
CREATE OR REPLACE TYPE COMPLEX AS OBJECT(
vls arr_type_test,
FUNCTION REMOVE_VLS(arr arr_type_test) RETURN arr_type_test
);
CREATE OR REPLACE TYPE BODY COMPLEX AS
FUNCTION REMOVE_VLS(arr arr_type_test) RETURN arr_type_test IS
DECLARE
textArr arr_type_test;
flag number;
idx number;
flg text;
BEGIN
idx = 0;
flag = 0;
for i in 1..vls.count loop
flag = 0;
flg = vls[i];
for j in 1..arr.count loop
if arr[j] == flg then
flag = 1 ;
end if;
end loop;
if flag == 0 then
textArr[idx] = vls[i];
idx = idx+1;
end if;
end loop;
return textArr;
END;
END;
我这if arr[j] == flg then 这行代码把flg缓存一个任意的字符串可以编译过但是改成flg他就会提示编译错误。是我写的有问题吗,我的需求是创一个数组类型,然后提供一个方法来删除传入的数组
我这if arr[j] == flg then 这行代码把flg换成一个任意的字符串可以编译过但是改成flg他就会提示编译错误。是我写的有问题吗,我的需求是创一个数组类型,然后提供一个方法来删除传入的数组