oracle存儲過程獲取時間
㈠ Oracle存儲過程的參數中帶入日期條件,如條件中有'YYYY-MM-DD'
雙引號? 還是兩個單引號?
to_date(''2013/7/2'', ''yyyy-mm-dd'')
㈡ oracle 存儲過程中時間參數問題
建議
create procere A( dt varchar2) is
調用時再轉換,要不然日期格式的參數容易格式自動轉變,select 語句執行後會漏掉一些數據
㈢ 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">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 ORA-00933; 請專家指導 謝謝
少個分號,如果賦值變數直接select into 就可以啊
㈥ Oracle 創建存儲過程,要求查詢起始時間到終止時間內一張表的數據
create or replace procere pr_Query_ByDate(
p_starttime in varchar2, --'yyyy.mm.dd hh24:mi:ss'
p_endtime in varchar2
)
is
v_sql_str varchar2(4000);
begin
v_sql_str:='create table Query_ByDate as select sum(allmoney) from orders
where ordertime>=to_date('''||p_starttime||''',''yyyy.mm.dd hh24:mi:ss'')
and ordertime<=to_date('''||p_endtime||''',''yyyy.mm.dd hh24:mi:ss'')
';
execute immediate v_sql_str;
commit;
end pr_Query_ByDate;
/
begin
pr_Query_ByDate('2012.05.23 00:00:00','2012.05.23 23:59:59');
end;
/
-- select * from Query_ByDate;
你看得懂的話!
㈦ ORACLE 存儲過程 建立時間類變數
V_DATE DATE;
SELECT TRUNC(SYSDATE,'MM') INTO V_DATE FROM DUAL;
SELECT LAST_DAY(SYSDATE) INTO V_DATE FROM DUAL;
SELECT TRUNC(ADD_MONTHS(SYSDATE,-1),'MM') INTO V_DATE FROM DUAL;
SELECT LAST_DAY(ADD_MONTHS(SYSDATE,-1)) INTO V_DATE FROM DUAL;
SELECT TRUNC(ADD_MONTHS(SYSDATE,-11),'MM') INTO V_DATE FROM DUAL;
SELECT LAST_DAY(ADD_MONTHS(SYSDATE,-11)) INTO V_DATE FROM DUAL;
SELECT TRUNC(ADD_MONTHS(SYSDATE,-12),'MM') INTO V_DATE FROM DUAL;
SELECT LAST_DAY(ADD_MONTHS(SYSDATE,-12)) INTO V_DATE FROM DUAL;
㈧ 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;