优化后:
String queryStr = " wid in(select wid from t_gjjl_yjsygcgsq where sqzt=99"
+"and jfshflag=0 union select wid from t_gjjl_yjsygcgsq where field1=1 and length(jfbmshzt)=length(jfshzt))";
优化前:
//查询本科生是否进入到oa的流程中 即数据在该系统中的流程已经走完
PublicService pubService = (PublicService) GenericFactory.getServiceInstance(PublicService.class);
String sql ="select * from t_gjjl_yjsygcgsq where jfshflag=1 or sqzt=99";
List list = pubService.sqlGetAll(sql);
String jfshflag="";
int countI=0;String queryStr1="";String queryStr="";
String sqlStr="";String filterStr="T_GJJL_YJSYGCGSQ:";
int countA=0;
if(list.size()>0){
for(int a=0;a<list.size();a++){
jfshflag = (String)((Map)list.get(a)).get("JFSHFLAG");
Logger.debug("jfshflag:"+jfshflag);
if("1".equals(jfshflag)){
//经费审核状态有可能为空
if(null ==((Map)list.get(a)).get("JFSHZT") || "null".equals(((Map)list.get(a)).get("JFSHZT")) ){
countI=0;
}else{
countI = ((String)((Map)list.get(a)).get("JFSHZT")).length();
}
countA = ((Map)list.get(a)).get("JFBMSHZT").toString().length();
//该条件是判断 jsfhflag==1 的值中 经费审核状态和经费部门审核状态是否相等
//长度相同则是到终审的数据
if(countI == countA){
queryStr = " jfshflag= 1 and length(JFBMSHZT)=length(JFSHZT)";
}
}else{
queryStr1 = "sqzt=99 and jfshflag is null";
}
}
if(!"".equals(queryStr)&& !"".equals(queryStr1) ){
filterStr += queryStr + " or "+queryStr1;
}else if("".equals(queryStr)){
filterStr += queryStr1;
}else if("".equals(queryStr1)){
filterStr += queryStr;
}
}else{
filterStr +="1=2";
}
if(filterStr.length()==17){
filterStr +="1=2";
}
分享到:
相关推荐
本文主要探讨了Oracle数据库体系结构的逻辑层面,包括表空间、段、数据块以及模式对象。 首先,表空间(Tablespace)是Oracle数据库的最高级别的逻辑存储单元。每个表空间由一个或多个数据文件(Data Files)组成,...
《数据库系统之逻辑结构》 数据库系统是计算机科学中的重要组成部分,其核心在于如何高效、安全地管理和存储数据。本篇主要探讨的是Oracle数据库的逻辑结构,包括表空间、数据文件、段、区以及数据块等概念,以及...
过程化SQL增强了数据库的逻辑处理能力,使得原本需要在应用程序层面完成的工作可以在数据库层面直接完成。 8.3 存储过程和函数是数据库中预编译和预优化的一段代码,它们被存储在数据库中,可以由应用程序调用。...
在处理异常时,Spring的事务管理扮演着关键角色。默认情况下,Spring使用编程式或声明式事务管理来控制事务的边界。如果在事务内发生DataAccessException,Spring会回滚事务,防止脏数据的产生。同时,开发者可以...
Oracle数据库是全球广泛使用的...总结,Oracle数据库的优化和故障处理涉及到多个层面,需要深入理解数据库的工作原理,并结合实际业务需求进行针对性的调整。这需要不断学习和实践,以确保数据库系统的高效、稳定运行。
2. 数据库模式:在关系模型中,数据库模式是指数据库的逻辑结构,包括表格、字段、键等元素。设计良好的数据库模式可以提高数据的完整性和一致性。 3. 事务处理:数据库中的事务是一组操作,要么全部完成,要么全部...
在处理Oracle数据库的故障及进行性能优化时,了解数据库的基础知识至关重要。本篇将深入探讨Oracle数据库的体系结构、故障处理、性能优化、备份以及安装等方面。 首先,Oracle数据库的体系结构包括多个组成部分,如...
逻辑备份适用于常规的数据保护,而物理备份则更适用于灾难恢复,因为它能保留数据库的物理结构。增量备份则在节省存储空间的同时提供了灵活的数据恢复策略。 在执行备份和恢复时,需要注意的是,命令行操作可能会...
手册中的内容会涉及数据库构成的各个层面,如逻辑结构、物理存储结构、内存结构等,以及DBA在日常工作中需要执行的管理任务,比如创建和配置数据库、启动和关闭数据库、管理表和索引等。学习这本手册将有助于研发...
在数据库领域,逻辑计划是查询优化过程中的关键环节,它是指将SQL查询语句转换成一系列抽象的数据操作,这些操作不涉及具体的物理实现细节,而是描述了如何在逻辑上处理数据。逻辑计划的目的是为了找到执行查询的...
逻辑备份主要通过Oracle提供的工具如EXP(Export)和IMP(Import)来实现,而物理备份则更多地涉及操作系统层面的操作。本知识点将围绕Oracle数据库的逻辑备份与恢复展开,包括对相关工具的使用方法、备份策略、恢复...
将领域逻辑与UI和数据库访问分离,可以创建一个清晰的边界,使得每个组件都能专注于自己的职责。例如,业务实体(Entities)和领域服务(Domain Services)应封装在独立的领域层中,不依赖于特定的UI或数据访问技术...
而"逻辑结构"则包括表空间、段、范围、数据块和模式对象,它们定义了数据在磁盘上的布局和管理方式。 "进程结构"是Oracle数据库的另一个重要方面。用户进程是客户端应用程序与数据库的交互桥梁,而Oracle服务器进程...
* 金仓数据库不支持批量插入insert all语法,解决办法:涉及insert all的内容全部兼容到非oracle数据库的处理逻辑分支下。 * 金仓数据库不支持table()关键字,解决办法:改为执行Mysql数据库类型的处理逻辑,相关...
在Oracle数据库中,数据的组织和存储方式既包括逻辑层面的抽象,也涉及到实际在硬盘上的物理布局。本章主要探讨了4个主题:Oracle数据库的逻辑结构、物理结构、数据字典以及Oracle的内存结构。 首先,我们来看...
首先,逻辑存储结构是从逻辑层面理解数据库构成的方式,它不涉及操作系统级别的物理存储细节,而是描述了Oracle数据库内部数据的组织形式。这些信息存储在数据库的数据字典中,可供查询。逻辑结构主要包括四个单元...
在处理大数据量时,Oracle数据库可能会遇到行链接和行迁移的情况。行链接是指当一行数据过长,无法完全存放在单个数据块中时,这部分数据会被分散存储在多个数据块中。而行迁移则发生在行被更新后长度增加,原有数据...
在应用层面,我们学习SQL(结构化查询语言),它是与关系型数据库交互的标准语言。SQL用于查询、插入、更新和删除数据,以及创建和修改数据库结构。掌握SQL是数据库开发和管理员的基础技能。 数据库的优化是另一个...
- 数据独立性:物理独立性和逻辑独立性确保数据在存储和逻辑层面的变更不会影响应用。 - 统一管理:DBMS负责数据的统一管理和控制,确保安全性、完整性和并发访问。 数据库系统的设计和使用对于确保数据的一致性...
在数据处理和数据库迁移领域,这是一个重要话题。文档中涉及到SQL Server、Kingbase ES、Openbase等不同类型的数据库系统,并专注于它们之间的数据移植技术和方法。 首先,文档提到SQL Server与国产数据库之间的...