永发信息网

oracle如果想写一个存储过程每天定时扫描一张表中的数据,该怎么写呢

答案:2  悬赏:40  手机版
解决时间 2021-02-24 17:03
只需要大概的结构就行了,,字段太多不好提供啊
比如表a中 有两个时间字段b,c,每天扫描表a中时间段在a~b但已经过期了的(意思就是b中的时间如2014.4.2 已经是过期了的),
把这些字段找出来,怎么写呢
最佳答案
PROCEDURE validate_date(p_date IN VARCHAR2,
p_list_cursor OUT sys_refcursor) IS
l_date VARCHAr2(40) := NULL;
l_err VARCHAr2(250) := NULL;
l_select VARCHAr2(4000) := NULL;
p_status VARCHAr2(40) := NULL;
BEGIN

IF NVL(p_date, 'X') = 'X' THEN --#如果时间是空,默认当前时间'YYYY-MM-DD HH24:MI:SS'
l_date := to_char(SYSDATE(),'YYYY-MM-DD HH24:MI:SS'); ---ROUTE DOES NOT EXISTS
ELSE
l_date:=p_date;
END IF;
--#查找b小于这个时间的数据
l_select := 'SELECT * FROM A WHERe B <' || CHR(39) ||
l_date || CHR(39);
--#将接个返回。系统调用时接收(LIST)
OPEN p_list_cursor FOR l_select;
--#如果有错误,将错误插入到日志表
EXCEPTION
WHEN OTHERS THEN
l_err := SUBSTr(SQLERRM, 1, 100);
p_status := 'E';

INSERT INTO errlog
VALUES
('validate_date',
l_err,
CURRENT_DATE);
commit;
END;
全部回答
400多万,200秒不算慢的,你可以把索引全部删掉能快一点,但是没必要 等你工作了碰到一条语句更新几个小时的你就习惯了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
白熊的日文怎么读!?
91#42度枣木杠白酒多少钱一箱
我市某中学要印制本校高中招生的录取通知书,
永泰祥商砼怎么去啊,有知道地址的么
奇皇后哪一集元顺帝以为阿良死了
耕王拖拉机质量如何
小学拼音没学好怎么办?
带接地刀闸的隔离开关在操作时有何规定
华士教育这个地址在什么地方,我要处理点事
黄家驹死了多长时间了
龙施春雨润大地是什么意思
福安村地址有知道的么?有点事想过去!
德庄重庆毛肚火锅江南万达店在哪里啊,我有事
fair friend是什么意思?解释一下意义.
怀孕血糖高吃什么好
推荐资讯
朝花夕拾的解释
单方强行离婚怎么离
四川大学研究生院真的内定名额吗?是不是真的
我是外地的,在南京上班三年了,准备回老家上
有哪些花的名字比较特别
五金日杂商场地址有知道的么?有点事想过去
【关于时间的句子】关于时间流逝的诗句
老是咬手指是不是心理疾病
【酣然入梦】酣然入梦的意思
玩王者荣耀因为被人骂就挂机了,然后QQ被黑了
一本穿小说主角叫李奇是个厨子
【英文新年贺卡】谁能帮我写一篇英语的新年贺
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?