Plsql
獲取 PL/SQL:ORA-00942:plsql 函式中不存在表或視圖,但命令視圖中不存在
我有一個游標功能讀取 dba_scheduler_jobs 這是一個視圖。如何在游標中使用視圖?
create or replace function fn_gss_chk_scheduled_jobs(p_key IN varchar2) return boolean is --Result boolean; failed_cnt number; stas varchar2(20); check_type varchar2(50) := 'Scheduled Jobs'; cursor c1 is select JOB_NAME, COMMENTS from dba_scheduler_jobs where owner = 'FCUBSPROD' AND state <> 'SCHEDULED' AND state <> 'RUNNING'; begin for rec in c1 loop IF c1%FOUND THEN Dbms_Output.Put_Line(Rec.Comments); stas := 'ERROR'; pn_gss_update_dash_det(p_key, rec.job_name, rec.comments, 'D'); ELSE stas := 'OK'; END IF; end loop; pn_gss_update_dash_det(p_key, check_type, stas, 'S'); return(true); end fn_gss_chk_scheduled_jobs;
將 DBA_SCHEDULER_JOBS 上的選擇授予函式所在模式的所有者。
程式碼需要直接授予權限。
如果您以擁有該功能的使用者以外的使用者身份執行,您還必須將 fn_gss_chk_scheduled_jobs 上的執行權限授予 your_user;
從 sys 使用者 –> 授予選擇任何字典到“所需模式”;