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;