sql - PLSQL SELECT INTO FROM parameter -
i created function should return max id table(parameter)
create or replace function getmaxid ( p_table in varchar2 ) return number v_maxid number(38); begin select max(id) v_maxid p_table; return v_maxid; end getmaxid
however, keep getting error message "ora-00942: table or view not exist" on line:
select max(id) v_maxid p_table;
like explained earlier, need use dynamic sql perform operation. in case, p_table variable. solution build string contain sql , dynamically execute 1 you've build query.
the example below uses, dual, table name arbitrary.
here you're looking for, take function outside of block, left can test it..
declare function getmaxid (p_table in varchar2) return number v_maxid number (38); v_select varchar2 (200); cnt sys_refcursor; begin v_select := 'select count(*) ' || p_table; dbms_output.put_line (v_select); execute immediate v_select v_maxid; return v_maxid; end getmaxid; begin dbms_output.put_line (getmaxid ('dual')); end;
Comments
Post a Comment