【发布时间】:2015-02-12 17:53:31
【问题描述】:
我有一组产品要标记为某个值,所以我这样做了:
declare
type array_produit_auto is varray(3) of varchar(50);
array array_produit_auto := array_produit_auto('code_product1', 'code_product2', 'code_product3');
begin
for i in 1..array.count loop
update F_PRODUITASS pas
set PAS_NONGES_IDA = 0
WHERE PAS.PAS_CODE_PRODUIT = array(i;
end loop;
end;
commit;
但是,这些产品的列表太长了。相反,我想这样做:
declare
type array_produit_auto is varray(3) of varchar(50);
array array_produit_auto := array_produit_auto('code_product4', 'code_product5', 'code_product6');
begin
update F_PRODUITASS pas
set PAS_NONGES_IDA = 1
WHERE PAS.PAS_CODE_PRODUIT NOT IN array;
end;
commit;
除了这不起作用,因为显然我不能以这种方式混合查询和数组。
知道我该如何完成这项工作吗?
【问题讨论】:
标签: plsql