我创建了一种嵌套表,如下所示:
CREATE OR REPLACE TYPE STRING_ARRAY AS TABLE OF VARCHAR2(1000);
我希望有一些方法可以从数组中删除特定元素。 E.g。
AVC_NAMES := STRING_ARRAY('ALEX', 'BETTY', 'CARL', 'DONALD');
SP_EXCLUDE(AVC_NAMES, 'BETTY'); // this will remove BETTY from the array.
嵌套表中是否有可以从数组中删除特定元素的内置方法?或者我应该写一个s.p.做这个工作?
答案 0 :(得分:2)
尝试使用Multiset运算符。多节点运算符将两个嵌套表的结果组合到一个嵌套表中。
result := collection1 MULTISET EXCEPT collection2
declare
type mycollection is table of varchar2(10);
c1 mycollection := mycollection('A','B','C','D','E');
to_remove mycollection := mycollection('C');
begin
c1 := c1 multiset EXCEPT to_remove;
for i in c1.first..c1.last
loop
dbms_output.put_line(c1(i));
end loop;
end;
答案 1 :(得分:0)
希望下面的snipet有所帮助。
return function(data, search) {
if(angular.isDefined(search)) {
var results = [];
var i;
var searchVal = $filter('lowercase')(search);
for(i = 0; i < data.length; i++){
var name = $filter('lowercase')(data[i].name);
var description = $filter('lowercase')(data[i].description);
if(name !== null && description !== null){
if(name.indexOf(searchVal) > -1 || description.indexOf(searchVal) > -1){
results.push(data[i]);
}
}
}
return results;
} else {
return data;
}
};