- 浏览: 254659 次
- 性别:
- 来自: 烟台
最新评论
-
全冠清:
雷总???
原谅我离开你 -
geminiyellow:
qingzi2534 写道发这个帖子的时候,我订婚了,距离今天 ...
原谅我离开你 -
qingzi2534:
发这个帖子的时候,我订婚了,距离今天已经过去整整3年了。这3年 ...
原谅我离开你 -
qingzi2534:
我没有自己创业,只是考了个电视台的事业编制,这个工作也做块两年 ...
工作两年半,准备创业.成名是越早越好,创业也是一样. -
shily_yuanling:
呵呵……我也是因为做自己的事业而和男朋友分手了,为什么不能女程 ...
原谅我离开你
不知道这样写存储过程,是不是不够优化?
- create or replace function F_GET_WORK_DAYS_COLOR
- (
- in_begin_date DATE,
- in_end_date DATE,
- in_first_days number,
- in_second_days number
- )
- return varchar2 is
- /*=========================================================
- 功能:去掉休息日,去工作日,
- 说明:传入日期 和 工作日天数,返回到期时间
- 创建:
- 修改:
- 时间:2006-12-12
- =========================================================*/
- v_color varchar(20);
- v_days number(6);
- --v_exception Exception;
- begin
- select count(1)
- into v_days
- from ZX_CALENDAR_AND_REST z
- where z.calendar_day >= trunc(in_begin_date)
- and z.calendar_day <= trunc(in_end_date)
- and z.rest_flag = 'N';
- if v_days > in_first_days and v_days <= in_second_days then
- v_color := 'yellow';
- elsif v_days > in_second_days then
- v_color := 'red';
- else
- v_color := 'white';
- end if;
- return v_color;
- exception
- when others then
- rollback;
- -- p_pub_error_log(v_result, sqlcode, sqlerrm, 'sf_f_note_issue_confirm');
- return sysdate;
- end;
- create or replace function F_ZX_WORK_SHEET_VERIFY_NOTICES(
- begin_day date,
- end_day date,
- v_operator varchar2,
- stat_bureau varchar2)
- return integer is
- ------------------------------------------------------------------------------------------
- -- 功能:工单通告预警
- -- 参数:当前日期
- -- 创建: 2007-1-24
- -- 修改:
- ------------------------------------------------------------------------------------------
- v_day date;
- v_end_day date;
- v_busi varchar2(8);
- v_result integer;
- begin
- v_day := sysdate ;
- v_busi := stat_bureau;
- v_end_day := end_day;
- --初使化v_busi
- if v_busi = '%' then
- v_busi := 'TT';
- end if;
- --清除已经发布的内容
- v_result := -10;
- delete from ZX_WORK_SHEET_VERIFY_NOTICES h
- where h.start_day = begin_day and
- h.end_day = v_end_day and
- (h.STAT_BUREAU = v_busi or h.bureau_code = v_busi); --新加的列,统计单位
- dbms_output.put_line('liuhui');
- --插入数据
- v_result := -20;
- if v_busi = 'TT' then
- insert into ZX_WORK_SHEET_VERIFY_NOTICES
- (
- NOTICE_LEVEL ,
- NOTICE_DAY ,
- SHEET_NUM ,
- SHEET_RATE ,
- RATE_NUM ,
- REMARK ,
- BUREAU_CODE ,
- OPERATOR ,
- DATA_TIME ,
- START_DAY ,
- END_DAY ,
- STAT_BUREAU )
- SELECT DECODE(W.COLOR,'red',1,'yellow',2,3),
- v_day,
- W.NUM,
- 0,
- 0,
- DECODE(W.COLOR,'red','非常严重','yellow','严重',''),
- W.BUREAU_CODE,
- v_operator ,
- v_day,
- begin_day ,
- v_end_day ,
- v_busi
- FROM
- (select count(1) NUM,
- z.bureau_code BUREAU_CODE,
- max(F_GET_WORK_DAYS_COLOR(z.confirm_date,decode(z.back_verify_date,'',sysdate,z.back_verify_date),3,13)) COLOR
- from ZX_WORK_SHEET_VERIFY z
- where F_GET_WORK_DAYS_COLOR(z.confirm_date,decode(z.back_verify_date,'',sysdate,z.back_verify_date),3,13) <> 'white'
- and z.confirm_sign = 'Y' and z.app_date between begin_day and v_end_day and (z.error_type <> '0' or z.error_type is not null)
- group by z.bureau_code,F_GET_WORK_DAYS_COLOR(z.confirm_date,decode(z.back_verify_date,'',sysdate,z.back_verify_date),3,13)
- ORDER BY COLOR,NUM ) W;
- ELSE
- insert into ZX_WORK_SHEET_VERIFY_NOTICES
- (
- NOTICE_LEVEL ,
- NOTICE_DAY ,
- SHEET_NUM ,
- SHEET_RATE ,
- RATE_NUM ,
- REMARK ,
- BUREAU_CODE ,
- OPERATOR ,
- DATA_TIME ,
- START_DAY ,
- END_DAY ,
- STAT_BUREAU )
- SELECT DECODE(W.COLOR,'red',1,'yellow',2,3),
- v_day,
- W.NUM,
- 0,
- 0,
- DECODE(W.COLOR,'red','非常严重','yellow','严重',''),
- W.BUREAU_CODE,
- v_operator ,
- v_day,
- begin_day ,
- v_end_day ,
- v_busi
- FROM
- (select count(1) NUM,
- z.bureau_code BUREAU_CODE,
- max(F_GET_WORK_DAYS_COLOR(z.confirm_date,decode(z.back_verify_date,'',sysdate,z.back_verify_date),3,13)) COLOR
- from ZX_WORK_SHEET_VERIFY z
- where F_GET_WORK_DAYS_COLOR(z.confirm_date,decode(z.back_verify_date,'',sysdate,z.back_verify_date),3,13) <> 'white'
- and z.confirm_sign = 'Y' and z.app_date between begin_day and v_end_day and (z.error_type <> '0' or z.error_type is not null)
- group by z.bureau_code,F_GET_WORK_DAYS_COLOR(z.confirm_date,decode(z.back_verify_date,'',sysdate,z.back_verify_date),3,13)
- ORDER BY COLOR,NUM ) W
- WHERE W.BUREAU_CODE = v_busi;
- end if;
- ------合计
- v_result := -30;
- IF v_busi = 'TT' then
- insert into ZX_WORK_SHEET_VERIFY_NOTICES
- (
- NOTICE_LEVEL ,
- NOTICE_DAY ,
- SHEET_NUM ,
- SHEET_RATE ,
- RATE_NUM ,
- REMARK ,
- BUREAU_CODE ,
- OPERATOR ,
- DATA_TIME ,
- START_DAY ,
- END_DAY ,
- STAT_BUREAU )
- SELECT DECODE(t.notice_level,'',3,t.notice_level),
- v_day,
- sum(nvl(t.sheet_num,0)),
- '',
- max(0),
- max(t.remark),
- 'TT' ,
- v_operator ,
- v_day,
- begin_day ,
- v_end_day ,
- v_busi
- from ZX_WORK_SHEET_VERIFY_NOTICES t
- where t.start_day = begin_day
- and t.end_day = v_end_day
- and t.bureau_code <> v_busi
- and t.stat_bureau = v_busi
- group by rollup(t.notice_level);
- end if;
- ----工单超期率 不包括天津的
- v_result := -40;
- if v_busi = 'TT' then
- update ZX_WORK_SHEET_VERIFY_NOTICES B
- set (B.SHEET_RATE) = (select round(decode((select count(*) from ZX_WORK_SHEET_VERIFY z
- where z.app_date between begin_day and v_end_day
- and z.bureau_code = a.bureau_code
- and (z.confirm_date <> date'1900-1-1' or z.confirm_date is not null)),0,0,
- (select sum(c.SHEET_NUM) from ZX_WORK_SHEET_VERIFY_NOTICES c
- where c.bureau_code = a.bureau_code
- and a.notice_level = c.notice_level
- and b.start_day = c.start_day
- and c.end_day = b.end_day and c.bureau_code <> v_busi and
- c.stat_bureau = v_busi )
- /
- (select count(*) from ZX_WORK_SHEET_VERIFY z
- where z.app_date between begin_day and v_end_day
- and z.bureau_code = a.bureau_code
- and (z.confirm_date <> date'1900-1-1' or z.confirm_date is not null))),4)*100
- from ZX_WORK_SHEET_VERIFY_NOTICES a
- WHERE A.BUREAU_CODE = B.BUREAU_CODE
- AND A.NOTICE_LEVEL = B.NOTICE_LEVEL
- and b.start_day = a.start_day
- and a.end_day = b.end_day
- and a.bureau_code <> v_busi AND A.STAT_BUREAU = B.STAT_BUREAU);
- else
- update ZX_WORK_SHEET_VERIFY_NOTICES B
- set (B.SHEET_RATE) = (select round(decode((select count(*) from ZX_WORK_SHEET_VERIFY z
- where z.app_date between begin_day and v_end_day
- and z.bureau_code = a.bureau_code
- and (z.confirm_date <> date'1900-1-1' or z.confirm_date is not null)),0,0,
- (select sum(nvl(c.SHEET_NUM,0)) from ZX_WORK_SHEET_VERIFY_NOTICES c
- where c.bureau_code = a.bureau_code
- and a.notice_level = c.notice_level
- and b.start_day = c.start_day
- and c.end_day = b.end_day
- )
- /
- (select count(*) from ZX_WORK_SHEET_VERIFY z
- where z.app_date between begin_day and v_end_day
- and z.bureau_code = a.bureau_code
- and (z.confirm_date <> date'1900-1-1' or z.confirm_date is not null))),4)*100
- from ZX_WORK_SHEET_VERIFY_NOTICES a
- WHERE A.BUREAU_CODE = B.BUREAU_CODE
- AND A.NOTICE_LEVEL = B.NOTICE_LEVEL
- and b.start_day = a.start_day
- and a.end_day = b.end_day
- and a.bureau_code = v_busi AND A.STAT_BUREAU = B.STAT_BUREAU);
- end if;
- -----排名
- v_result := -50;
- if v_busi = 'TT' then
- update ZX_WORK_SHEET_VERIFY_NOTICES B
- set (B.RATE_NUM) = (select r.row_num
- FROM (
- SELECT row_number () over (PARTITION by z.NOTICE_LEVEL order by z.SHEET_RATE asc) row_num,
- Z.BUREAU_CODE , Z.NOTICE_LEVEL
- FROM ZX_WORK_SHEET_VERIFY_NOTICES Z where
- begin_day = z.start_day and v_end_day = z.end_day and z.notice_level <> 3 AND Z.BUREAU_CODE <> v_busi
- AND Z.STAT_BUREAU = v_busi
- ) r
- WHERE r.BUREAU_CODE = B.BUREAU_CODE AND r.NOTICE_LEVEL = B.NOTICE_LEVEL );
- else update ZX_WORK_SHEET_VERIFY_NOTICES B
- set (B.RATE_NUM) = '';
- end if;
- commit;
- return 0;
- exception
- when others then
- begin
- rollback ;
- P_PUB_ERROR_LOG(v_result,sqlcode,sqlerrm,'F_ZX_WORK_SHEET_VERIFY_NOTICES');
- return v_result;
- end;
- END;
发表评论
-
ORACLE中的物化视图
2007-12-30 16:07 2809物化视图是包括一个查询结果的数据库对像,它是远程数据的的本 ... -
数据库查询,两种方法,为什么查询出不一样的数据量。
2007-10-19 16:21 1644select count(1) FROM aaaaa DD, ... -
SQL语句性能调整
2007-03-27 11:25 1568SQL语句性能调整的目标是: 去掉不必要的大表全表扫描 ... -
Oracle 基本知识
2007-03-24 15:30 1322一个表空间只能属于 ... -
Oracle函数小解
2007-03-24 15:18 2296SQL中的单记录函数 1.ASCI ... -
Oracle 数据类型
2007-03-24 15:14 1701... -
简单理解外连接
2007-01-16 17:42 4309sql的高级查询有四种连接,分别是:等值连接,非等值连接,外连 ...
相关推荐
这个是学校课程设计周使用的表格,表格是一个系统的关键,所以这张表,整整修改了两个星期才完成。主要是在触发器这个过程,因为触发器就像一把刀,使用的好很好用,使用不好,它很容易让系统崩溃。
我虽然已经有多年不写代码了,但看这本书的时候,让我又重新感受到做程序员的乐趣:用代码建设属于自己的系统,让电脑听从自己的指令,对系统的每个部分都了如指掌。 黑客(hacker)实际是褒义词,维基百科的解释是...
我虽然已经有多年不写代码了,但看这本书的时候,让我又重新感受到做程序员的乐趣:用代码建设属于自己的系统,让电脑听从自己的指令,对系统的每个部分都了如指掌。 黑客(hacker)实际是褒义词,维基百科的解释是...
swing开发的数据库管理工具,支持常用的几大主流数据库,其他数据库可以自己扩展添加(只要有此数据库jdbc驱动的jar包就行),可以查看用户表(数据可导出成Excel),主键,索引,视图,触发器,存储过程等,可以生成对表增,删...
那软件的一些相关文件和注册表并不写在真实的系统环境中,确实是全面绿色化。这项通过。 2. 软件下载到使用一键完成,免安装 体验:这点就是前面下QQ体验过的,还是比较流畅的,就不说了。 3. 重装系统,原有软件...
描述具有多个可选参数的典型 Do-it-all 存储过程,用于满足各种搜索条件。 这有严重的性能问题,并且有办法缓解它。 以下代码示例说明了一个不好的示例以及如何最好地解决这些问题。 SQL 2008 及更高版本 - 如果是...
一个视频压缩软件到底好不好用,最重要的判断标准,也是这个。 除了常见的分辨率、码率、帧数,视频在压制过程中,还有很多参数。小丸工具箱的作用,就是尽可能把这些复杂参数,做到平衡与最优。系统迷亲测,用小丸...
7.持久层操作大多依赖存储过程和触发器程序的部署会比较复杂,而且会使持久层和数据库耦合过紧,不利于维护,下一步准备用Hibernate 架构改进持久层,如有条件则还可用Spring框架来规范业务层,和统一整个项目。...
我猜测可能的原因是,C51编译后会产生一些存储相关信息的文件,而这些文件中的路径是我们作过手脚的路径,因此对原路径修改的文件不能正确识别。这一点也请大家共同研究探讨。 可增加的功能。VC51返回的结果中,与...
之后一步步的填充东西进 去,其实写论文比较难得还是设计大纲,我可能有所不同,因为我知道在我们这种专 业学出来的可能以后想找个稳定的好工作非常难,而且说一句老实话我的专业知识不 管是软件还是硬件学的都不好...
实验一 了解SQL SERVER2000的使用 2 实验二 SQL语言的DDL 6 实验三 SQL语言的DML初步 10 实验四 SQL语言的数据查询之一 13 实验五 SQL语言的数据查询之二 15 实验六 存储过程和触发器 17
Linux 操作系统基础教程 清华大学信息学院计算机系 ...从网上下载的,但是我不推荐易用这种方法得到 Linux,因为仅仅核心就有几十个 Mbit 的 数据量,而一个完整的发行版本大概都是 1Gbit 左右的数据量...
我们今天以企业用户常用的CRM系统,来看一看标准的SaaSCRM...这里并不是说明SOAP网络服务消息包含义病毒,而是说明HTTP是无法处理SOAP信息包究竟好不好,需要额外的软件工具解决这一问题,包括防火墙也用不上和管不了...
有人感兴趣,就传上来了,其中,MainDataModule.ADOQuUserNum对应的sql是sp_who2系统存储过程如果你使用的是自己用户数据表来控制登陆用户,那当然更简单(但用户没有正常退出时不好处理)。至于什么时候执行...
有些内部排序的例子很是好理解,我们可以通过一些图示来很好地了解到这些排序的过程,但是这些程序的代码可能不是那么好写。而另外一些程序的思想既难以理解,也难于编码。着实地伤透了我的脑筋。下面就将我的程序的...
oracle学习,里面的几个文档主要是帮助那些查询,和学习存储过程的人,我刚上班的时候,就看了好几遍,感觉甚好,基础不好的更加多多学习
在人才市场求职过程中,应聘者通过简单的文字图表,无法全面了解公司的情况,同样公司通过个人简介也不能全面了解人才的全部。并且人才招聘市场经常是人山人海,“各式各样”的用人公司/单位又让人眼花缭乱,应聘到...
内容是全英文版的,英文基础不好的同学可以找翻译软件配着看。 项目定义阶段 - 问题是什么?:确定感兴趣的区域或潜在的问题区域。 诊断阶段 - 我们能改善什么?:评估各区域内的现有流程,以及找出潜在的质量问题...
由和写。 为了 。 这项工作是在一个 目录 有必要做课程吗? 许多公司认为简历只是一种形式。 在工作世界中,根据所做工作的历史来雇用(或拒绝)一个人。 不是基于文档看起来有多漂亮和整洁。 要进入工作世界并获得...
5、维修好帮手:数码维修人员整天和数码产品打交道,我的出现就是你的得力助手 6、其它USB存储:买读卡器、移动硬盘、USB-Hub....,从专业角度帮你挑选对比 7、其它USB外设:摄像头、USB鼠标、打印机、USB声卡....,...