--存储过程,根据输入的日期,返回该日期所在的月份后两个月的第一个周日create or replace Procedure PReDate(pi_Date in out varchar2,
pi_Result out integer,
ps_Message out varchar2) is
begin
pi_Result := -1;
ps_Message := '初始化失败';
ps_Message := '开始计算日期';
select to_char(next_day(last_day(add_months
(to_date(pi_date,'YYYY-MM-DD'),1)), '星期日'),'YYYY-MM-DD'))from dual;
pi_result := 1;
ps_message := '成功';
--异常处理
exception
when others then
begin
pi_result := -1;
ps_message := '系统出错!';
end;
end PReDate;
编译总是失败,不知道什么错误,求高人指点!多谢啦!
1、缺少into部分
2、多了一个 ) 括号
CREATE OR REPLACE Procedure PReDate(pi_Date in out varchar2,
pi_Result out integer,
ps_Message out varchar2) is
begin
pi_Result := -1;
ps_Message := '初始化失败';
ps_Message := '开始计算日期';
select to_char(next_day(last_day(add_months
(to_date(pi_date,'YYYY-MM-DD'),1)), '星期日'),'YYYY-MM-DD') into pi_Result from dual;-------------这里问题
pi_result := 1;
ps_message := '成功';
--异常处理
exception
when others then
begin
pi_result := -1;
ps_message := '系统出错!';
end;
end PReDate;