select offer_id into v_offer_id from ls65_crm2.product_offer_t@to_qscrm
where (offer_name like '%E家%' or offer_name like '%E9%' or offer_name like '%E8%' or
offer_name like '%E6%' )
在offer_id 中有很多值在很多块中需要用到这个值,所以我想单独吧他提出来,先查询出来放进v_offer_id 中
在其他块中,需要用到这个值在其他块中,能否直接用 product_offer_id = v_offer_id
where (offer_name like '%E家%' or offer_name like '%E9%' or offer_name like '%E8%' or
offer_name like '%E6%' )
在offer_id 中有很多值在很多块中需要用到这个值,所以我想单独吧他提出来,先查询出来放进v_offer_id 中
在其他块中,需要用到这个值在其他块中,能否直接用 product_offer_id = v_offer_id
其他块的话,不能用这个过程搜出来的值,除非你这个id是放在一个公共包里面的一变量。像你这种情况,可以单独定义一个函数,直接返回这个offer_id的游标,其他要用的地方,直接用游标变量等于这个函数就可以拿出来了。
create or replace function test_func
return varchar2
as
v_offer_id varchar2(20);
begin
select offer_id into v_offer_id from ls65_crm2.product_offer_t@to_qscrm
where (offer_name like '%E家%' or offer_name like '%E9%' or offer_name like '%E8%' or
offer_name like '%E6%' )
return (v_offer_id);
exception
when TOO_MANY_ROWS then
dbms_output.put_line('多余一个返回结果!');
when others then
dbms_output.put_line(sqlcode||sqlerrm);
end test_func;