存储过程的语法可以类似下面的进行书写
CREATE OR REPLACE PROCEDURE FOR_QQ_ANALISE_BY_JESEECHEN
(statis_date IN VARCHAR2) --传入参数
AS
today date; --申明的变量
i number(11);
one_week_before date;
BEGIN
DBMS_OUTPUT.enable; -- 启动dbms_output
DBMS_OUTPUT.PUT_LINE(statis_date);
today := to_date(statis_date, 'yyyy-mm-dd');
Dbms_Output.put_line(today); --输出今天的内容
i := 0;
while i < 20 loop --循环20 次
one_week_before := today - 7; --获取上个星期的日期
Dbms_Output.put_line('last_week is:' ||
to_char(one_week_before, 'yyyy-mm-dd')); --打印出日期
today := today - 1;
DBMS_output.put_line(to_char(today, 'yyyy-mm-dd')); -- 日期变为上一天
i := i + 1;
end loop;
COMMIT;
END;
本文介绍了一个Oracle存储过程示例,该过程通过传入日期参数,输出从该日期开始的连续20天及其对应的一周前日期。示例中使用了DBMS_OUTPUT包来输出日期信息,并展示了如何在循环中递减日期。

被折叠的 条评论
为什么被折叠?



