导航

Oracle表名做为参数 返回值

Posted on 2013-05-27 17:44  潘小博1992  阅读(279)  评论(0编辑  收藏  举报
create or replace function getlastdate(tablename in varchar2,sumtype in varchar2) return varchar2 is
  2  v_lastdate varchar2(8);
  3  v_sql varchar2(200);
  4  begin
  5  v_sql := 'select to_char(max(C_ENDDATE),''yyyymmdd'') from '|| tablename ||' where C_SUMTYPE = '''||sumtype ||'''';
  6  execute immediate v_sql into v_lastdate;
  7  return v_lastdate;
  8  end getlastdate;
  9  /

Function created

SQL> select getlastdate('employees','1') from dual;

GETLASTDATE('EMPLOYEES','1')
--------------------------------------------------------------------------------
20080512

SQL>