oracle 编写函数 隐式游标的使用

CREATE OR REPLACE
FUNCTION "getTableNameByAloneId" (v_alone_id IN VARCHAR2)
RETURN VARCHAR2
AS
v_count int(8);
v_table_name VARCHAR2(100);
v_sql VARCHAR2(1000);
v_alone VARCHAR2(150);

BEGIN

for var_record in(
select table_name from all_tables where owner='NC66' and table_name like 'IUFO_MEASPUB_%' and num_rows>0
) loop
--<<THE_NEXT>>
v_sql:='select  count(alone_id) from ' || var_record.TABLE_NAME||' where alone_id ='''||v_alone_id||'''';
DBMS_OUTPUT.PUT_LINE(v_sql);
execute IMMEDIATE v_sql into v_alone ;
DBMS_OUTPUT.PUT_LINE('v_alone='||v_alone);
if v_alone>0 then v_table_name:=var_record.TABLE_NAME;
return v_table_name;
end if;
end loop;
    RETURN v_table_name;
END ;

 

猜你喜欢

转载自blog.csdn.net/zy103118/article/details/86153725