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定時執行存儲過程的時間區間問題
目測, 你的存儲過程, 需要在 下面這些時刻運行:
1:00
3:00
5:00
7:00
16:00
18:00
20:00
22:00
CREATE OR REPLACE PROCEDURE other_proc
AS
vHour VARCHAR(2);
BEGIN
vHour := TO_CHAR(SYSDATE, 'HH24');
IF vHour = '01' OR vHour = '03' OR vHour = '05' OR vHour = '07'
OR vHour = '16' OR vHour = '18' OR vHour = '20' OR vHour = '22' THEN
-- 調用你那個存儲過程.
-- 由於沒有代碼, 暫時寫 NULL;
NULL;
END IF;
END;
/
variable jobno number;
begin
dbms_job.submit(:jobno, 'other_proc;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')');
commit;
end;
/
㈢ 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中如何得到執行存儲過程的開始和結束時間
需要在存儲過程中定義的時候把開始執行時間和結束時間列印出來。
舉例如下:
創建存儲過程:
sql">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 存儲過程里時間為"23-JUN-11"如何轉換為標准日期格式"YYYY-MM-DD" 謝謝了
跟你的系統時間格式也有關系,不知道你要在哪裡改這個格式,如果這個是日期格式的話,可以這樣改成字元串格式:to_char(日期欄位, 'yyyy-mm-dd'),如果需要輸出日期格式就再加一層:to_date(to_char(日期欄位, 'yyyy-mm-dd'), 'yyyy-mm-dd')
㈥ oracle存儲過程超時時間設置
在sqlnet.ora中設置參數如需要設置客戶端空閑10分鍾即被中斷,則在sqlnet.ora的末尾添加SQLNET.EXPIRE_TIME=10注:sqlnet.ora文件的路徑在$ORACLE_HOME/network/admin下。
㈦ oracle中怎麼用存儲過程將的存儲過程的執行時間返回出去。
可以在日誌表中加一個運行時間欄位,可以在程序運行之前設定一定變數值為sysdate,程序運行結尾出一個變數2 sysdate , 兩個變數相減就可以得到過程運行時間.
begin
v_date1:= sysdate;
...
v_date2:=sysdate;
v_run_num=v_date2-v_dat1;
insert into 日誌表(run_num_time) values(v_run_num);
commit;