当前位置: 代码迷 >> Oracle开发 >> oracle 11g 建立包传递参数有关问题
  详细解决方案

oracle 11g 建立包传递参数有关问题

热度:212   发布时间:2016-04-24 06:23:27.0
oracle 11g 建立包传递参数问题
/*create or replace package p_view_param is
--参数1 设置开始日期
      function set_s_date(s date) return date;
      function get_s_date return date;
--参数2 设置结束日期
      function set_e_date(e date) return date;
      function get_e_date return date; 
      end p_view_param; */



create or replace package body p_view_param is 
      param_s_date date ;
      param_e_date date ;
      -- s_date
      function set_s_date(s date) return date is
        begin
          param_s_date:=s;
          return s;
        end;
          
      function get_s_date return date is
        begin
          return param_s_date;
        end;
      -- e_date
      function set_e_date(e date) return date is
        begin 
          param_e_date:=e;
          return e;
         end;
               
      function get_e_date return date is
         begin
          return param_e_date;
         end;
         
         end p_view_param;
         



运行时出错
 begin 
 p_view_param.set_s_date('2015-07-01 00:00:00');
 p_view_param.set_e_date('2015-07-30 23:59:59') ;
ORA-06550;第2行,第2列;
PLS-00201:必须声明标识符P_VIEW_PARAM.SET_S_DATE
等都提示未声明;


我是小白请大神指教!!



------解决思路----------------------
没见过这么直接用函数的。

把函数放到dbms_output.put_line(函数)      试试
另外函数里的类型是字符,要转成日期
------解决思路----------------------
直接用。

select function_name(dt) from dual
------解决思路----------------------
提示的不是很清楚吗,你们有在package里面声明函数头, 你上面定义package那一段,不是注释掉了吗,放开就可以了
  相关解决方案