【入门】使用参数游标时的注意事项

declare
cursor c_str is
    select * from cbm_str;
    
    cursor c_pstr(p_storecode number) is
    select * from cbm_str a
    where a.storecode = p_storecode;
    
    r_store c_str%rowtype;
begin
for r_str in c_str loop
    dbms_output.put('店铺ID:'|| r_str.storecode);
        dbms_output.put(',');
        dbms_output.put_line('店铺名称:'|| r_str.storname);
    end loop;
    
    for r_str in c_pstr(5000) loop
      dbms_output.put('店铺ID:'|| r_str.storecode);
        dbms_output.put(',');
        dbms_output.put_line('店铺名称:'|| r_str.storname);   
    end loop;
    
    for r_str in (select * from cbm_str) loop
dbms_output.put('店铺ID:'|| r_str.storecode);
        dbms_output.put(',');
        dbms_output.put_line('店铺名称:'|| r_str.storname);
    end loop;
    
    open c_str;
    loop
    fetch c_str into r_store;
    exit when c_str%NOTFOUND;
dbms_output.put('店铺ID:'|| r_store.storecode);
        dbms_output.put(',');
        dbms_output.put_line('店铺名称:'|| r_store.storname);    
    end loop;
    close c_str;
    
    open c_pstr(5000);--打开带参数游标时,要传入参数。
    loop

fetch  c_pstr into r_store;--之后对参数游标的操作,跟普通游标一样,没有任何区别。 
exit when c_pstr%NOTFOUND;
dbms_output.put('店铺ID:'|| r_store.storecode);
        dbms_output.put(',');
        dbms_output.put_line('店铺名称:'|| r_store.storname);     
end loop;
close c_pstr;

end;
/

你可能感兴趣的:(【入门】使用参数游标时的注意事项)