我在甲骨文下面的代碼窗體細節塊值分配給數組從PLSQL塊
BEGIN
v_product_no := :detail_block.product_no;
Go_block('detail_block');
first_record;
--some if condition
WHILE :SYSTEM.last_record != 'TRUE' LOOP
next_record;
if(:detail_block.product_no = v_product_no) then
-- other condtions
end if;
END LOOP;
我想v_product_no
存儲到某種集合對象,這樣我可以用:detail_block.product_no
值進行比較。
我該怎麼做?
編輯1
product_no
將具有值如K1BATTERY
,K2BATTERY
,ZCATBATEERY
等 所以如果K1BATTERY
是相同:detail_block.product_no
然後用下一個條件進行
編輯2
Go_block('detail_block');
v_product_no := :detail_block.product_no;
v_products(v_product_no) := 1;
first_record;
WHILE :SYSTEM.last_record != 'TRUE' LOOP
if(v_products.exists(v_product_no)) then
alert('duplicate');
end if;
END LOOP;
END if;
編輯3
Go_block('detail_block');
v_product_no := :detail_block.product_no;
v_products(v_product_no) := 1;
first_record;
-- condition
WHILE :SYSTEM.last_record = 'FALSE' LOOP
next_record;
v_product_no := :detail_block.product_no;
if(v_products.exists(v_product_no)) then
alert('duplicate');
else
v_products(v_product_no) := 1;
end if;
END LOOP;
END if;
你真的需要一個集合對象?您可以創建一個包規格,並讓它存儲該值,如果它是標量值的話。另外爲什麼不把它存儲到本地塊變量? – Sathya
@Sathya我的意圖是,如果'product_no'重複,那麼我想有另一個if條件在同一個細節塊中進行評估。將'v_product_no'存儲在'varchar2'中並不能幫助比較多記錄塊中的值。謝謝 – user75ponic
您不需要集合類型來存儲標量值。在本地聲明另一個變量並分配值,它可以在會話範圍內使用,因爲它是局部變量。 –