oracle存储过程随机抽取一条数据并返回

 时间:2024-10-29 19:12:40

1、涉及表介绍CLWWjgsj date类型 --经过时间rksj date类型 --入库时间sjzt number(1) --数据状态ggbj number(1)--更改标记 ,用于锁住该条数据wwid number(15) --唯一标识id,序列自增长fjr number --操作数据人员编号

2、数倌栗受绽据基数条件(1)一段时间内随机抽取一条数据来分配select * from CLWW where jgsj > sysdate - 15 --15天内,变化的时间 and jgsj < sysdate - 1 / 12 --前2个小时 and sjzt = 1 --有效数据 and fjbj = 0 --数据未更改 and rksj - jgsj < 3 --入库时间和经过时间不相差3秒 and clwfid < 900000000000001 --序列要求 order by jgsj --排序(2)某个操作人员前一天未及时更改的数据select * from clww where jgsj > sysdate -15 --是否是15天待定 and jgsj<sysdate-1/12 --前2个小时 and fjr=520 --更改人员编号 变化的 and fjbj=3 --正在更改 and rownum<2 --一条数据 end;因为是某个人未及时更改的,所以不需要使用随机函数

3、需求再次简化经过对比发现,查询某个人员前一天未及时更改的数据比较慢,但是查询一段时间内的速度很快。经过和开发人员讨论发现,查询某个人员前一天未及时更改的数据可以不需要的,直接在后台将某个操作人员未及时更改的数据重置到随机抽取数中。这样就加快了查询速度!

4、随机抽取select * from(select * from(select * from(SELECT * FROM CLWFXXWHERE JGSJ >SYSDATE -15AND SJZT=1AND FJBJ=0ORDER BY JGSJ DESC) WHERE ROWNUM <=20 --在20条数据中随机抽取)order by dbms_random.value) where rownum <2;

5、存储过程幻踔佐曝返回一条数据create or replace procedure wiscom_sortin爿讥旌护g(i_fjr in NUMBER,--操作人i_fjts in NUMBER,--天数o_curcor_clww out SYS_REFCURSOR --定义动态游标)asv_wwfid number(15) ;begin--将这个需求直接剔除 /* 查找分拣人未及时分拣的数据, 建议去除该段查询,未及时分拣的数据可以单独重置为随机数的基数 */ /* select * from clww where jgsj > sysdate -15 and jgsj<sysdate-1/12 and fjr=520 and fjbj=3 and rownum<2 end;*/ --随机分配一条原始数据给分拣人分拣 select wwfidinto v_wwfid from (select wwfid from (select wwfid from (select wwfid from clww where jgsj > sysdate - i_fjts and jgsj < sysdate - 1 / 12 and sjzt = 1 and fjbj = 0 and rksj - jgsj < 3 and wwfid< 900000000000001 order by jgsj ) where rownum <= 40) --由于是20个人,加大随机基数,防止随机出现相同数据 order by dbms_random.value) where rownum < 2; update clwwset fjbj=3,fjr=i_fjr where wwfid=v_wwfid; commit; --锁住该条数据 open o_curcor_clww for select * from clwwwhere wwfid=v_wwfid; return;end wiscom_sorting;

  • vba窗体如何设置定时提醒功能
  • VBA如何提取相符条件2个表格的数据
  • 在VBA中,如何编写删除空行的代码?
  • 如何使用VBA中GetOpenFilename的文件多选参数
  • Excel通过Code函数返回汉字的ACSII码值
  • 热门搜索
    初中手抄报版面设计 快乐手抄报 廉洁手抄报资料 校园安全手抄报资料 节约用水手抄报资料 关于地球的手抄报 有关英语的手抄报 语文手抄报内容大全 青春手抄报图片 交通的手抄报