oracle存儲過程日期
⑴ oracle存儲過程:目的保存當前時間7天以前的數據,其他時間段的數據自動刪除。
我覺得你這個不是7天執行一次, 應該是每天執行,然後每次執行刪除當前日期7天前的數據,假如你這個表有一個數據日期的欄位。
create or procere deletehisdata
is
v_date date;
bengin
v_date := to_date(sysdate,'yyyymmdd');
delete from tablename a where v_date - to_date(a.sjrq,'yyyymmdd')>7;
commit;
end
⑵ oracle存儲過程時間調用
用dbms_job包,以下是例子。
declare
n_job_01 binary_integer;
begin
-- 每分鍾執行一次
dbms_job.submit(n_job_01,'你調的東西',sysdate,'TRUNC(sysdate,』mi』) + 1 / (24*60)');
-- 凌晨兩點執行
dbms_job.submit(n_job_01,'你調的東西',sysdate,'TRUNC(sysdate) + 1 + 2/24');
-- 每周一凌晨2點執行 周一是每周的第二天next_day(sysdate,2)同理周二是第三天,next_day(sysdate,3)
dbms_job.submit(n_job_01,'你調的東西',sysdate,'TRUNC(next_day(sysdate,2))+2/24');
-- 每月1日凌晨兩點執行
dbms_job.submit(n_job_01,'你調的東西',sysdate,'TRUNC(LAST_DAY(SYSDATE))+1+2/24');
-- 每季第一天凌晨兩點執行
dbms_job.submit(n_job_01,'你調的東西',sysdate,'TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 2/24');
-- 每年7月1日和1月1日凌晨2點
dbms_job.submit(n_job_01,'你調的東西',sysdate,'ADD_MONTHS(trunc(sysdate,'yyyy'),6)+2/24');
-- 每年1月1日凌晨2點執行
dbms_job.submit(n_job_01,'你調的東西',sysdate, 'Add_months(trunc(sysdate,'yyyy'), 12) +2/24');
end;
打字不易,如滿意,望採納。
⑶ oracle存儲過程字元轉日期
改為:
sql">createorreplaceproceretest_sn
as
testdate;
begin
test:=to_date('2012-2-1','yyyy-MM-dd');
dbms_output.put_line(to_char(test,'yyyy-mm-dd'));
end;
⑷ jsp如何向oracle存儲過程傳遞日期類型的參數
java.util.Date date;
Timestamp timestamp = resultSet.getTimestamp(i);
if (timestamp != null)
date = new java.util.Date(timestamp.getTime()));
解釋一下:首先從結果集中拿到timestamp,然後作為參數傳入date中,就變成java.util.Date類型
然後轉成你想要的格式就ok了,一般用
DateFormat df=new SimpleDateFormat(format);
String result=df.format(date );
⑸ oracle中如何得到執行存儲過程的開始和結束時間
需要在存儲過程中定義的時候把開始執行時間和結束時間列印出來。
舉例如下:
創建存儲過程:
createorreplaceprocerep_test
as
v_begintimevarchar2(20);
v_endtimevarchar2(20);
v_strvarchar2(10);
begin
v_begintime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');
select'badkano'intov_strfromal;
v_endtime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');
dbms_output.put_line('開始時間為:'||v_begintime);
dbms_output.put_line('結束時間為:'||v_endtime);
end;
end;
執行存儲過程:
begin
p_test;
end;
執行結果:
說明:由於樣例存儲過程過於簡單,但在進行過多數據處理的時候,看到的結果會比較明顯。
⑹ Oracle 存儲過程insert into select 日期條件問題
首先你測試看看,第二段的日期是不是沒有傳遞進去,在ORACLE裡面設置輸出跟蹤到底問題出在哪兒,insert into select 嵌套語句是可以識別變數的,你的語句沒什麼問題,看看是不是你傳遞參數沒到位
⑺ oracle 存儲過程 輸出一個日期 如果周六 print1 否則 print0
create or replace PROCEDURE p_week
(v_date in varchar2)
as
v_int varchar2(1);
begin
select to_char(to_date(v_date,'yyyy-mm-dd'),'d') into v_int from al;
if v_int=7
then
dbms_output.put_line(1);
else
dbms_output.put_line(0);
end if;
end;
輸入日期格式必須是2013-05-09 這樣格式的
⑻ Oracle存儲過程的參數中帶入日期條件,如條件中有'YYYY-MM-DD'
雙引號? 還是兩個單引號?
to_date(''2013/7/2'', ''yyyy-mm-dd'')
⑼ Oracle 存儲過程insert into select 日期條件問題(因財富值問題開續貼)
Select * From xxx 是可以沒有結果的,放在Insert後面也沒有效果。
Select Count(*) From xxx 是一定有結果的,即使沒有數據,也會有一個結果:0
因為有了 0 ,所以nCount有了內容,於是可以插入目標表。
後面的「嵌套」和「兩個變數無法正確識別」,沒看懂。