oracle 迴圈呼叫儲存和sql

2021-09-27 04:05:43 字數 1244 閱讀 3139

declare

p_enddate date;

p_startdate date;

p_month varchar2(10);

p_date varchar2(10);

begin

p_enddate := to_date('2017-12-31', 'yyyy-mm-dd');--日期條件 終止日期

p_startdate := to_date('2000-01-01', 'yyyy-mm-dd');--日期條件 開始日期

while p_startdate <= p_enddate loop --開始日期《終止日期

p_month := to_char(p_startdate, 'yyyy-mm-dd');--轉化為字串格式

--轉化為字串格式 取年底的值

p_date := to_char(last_day(add_months(p_startdate, 11)),'yyyy-mm-dd');

--呼叫儲存

pro_name('45',p_month,p_date);

--年份加1

p_startdate := add_months(p_startdate, 12);

end loop commit;

end;

declare

p_enddate date;

p_startdate date;

p_month varchar2(10);

begin

p_enddate := to_date('2020-04-30', 'yyyy-mm-dd');--日期條件 終止日期

p_startdate := to_date('2015-01-01', 'yyyy-mm-dd');--日期條件 開始日期

while p_startdate <= p_enddate loop --開始日期《終止日期

p_month := to_char(p_startdate, 'yyyymm');--轉化為字串格式

--呼叫sql

select * from tb_table a where a.yearmonth = p_month;

--月份加1

p_startdate := add_months(p_startdate, 1);

end loop commit;

end;

Oracle使用游標迴圈呼叫儲存過程

宣告游標 cursor cursor name is select statement for 迴圈游標 1 定義游標 2 定義游標變數 3 使用for迴圈來使用這個游標 declare 型別定義 cursor c job is select a.workorderid from idc.pf or...

oracle呼叫子儲存過程 游標迴圈例項

一,有子節點的部門的子節點的排序,呼叫子儲存過程 create or replace procedure pro init sort as cursor cur department all is select from tbl department var count number var out...

Oracle資料庫如何迴圈呼叫儲存過程?

日常開發中不可避免的會使用到資料庫,不管是oracle mysql還是sql server資料庫。資料統計之類的需求也是屢見不鮮,常見按日期 按月份 按季度 按年份的資料統計。在我們寫好乙個按日期統計資料的儲存過程後,多天的資料我們該怎麼去呼叫儲存過程呢?常用的一種方法就是再寫乙個儲存過程,該過程的...