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有了内容,于是可以插入目标表。
后面的“嵌套”和“两个变量无法正确识别”,没看懂。