oracle存储过程及sql优化-(三)】的更多相关文章

         本篇主要介绍存储过程的结构 先简单介绍下: oracle存储过程与函数不同,oracle函数和存储过程都可以有多个输入,但是函数一般只有一个输出,而oracle可以有多个输出且与输入参数一起定义. oracle存储过程结构如下: create or replace PROCEDURE test ( pi_in_cs1 in pls_integer, pi_in_cs2 in pls_integer, pi_out_cs1 out pls_integer ) as vv_para…
接下来比较重要,我会先贴出一个存储过程,根据这个存储过程讲解 PROCEDURE AP_CXBB_GT3_SBFGL_SBFYJSQC (OUT_RECORD OUT SYS_REFCURSOR, PI_XH PLS_INTEGER, PV_ZGSWJG VARCHAR2 --管理单位 --PI_HSND PLS_INTEGER, --汇算年度 --QR_HYDM PLS_INTEGER --行业 ) AS VI_HYXH PLS_INTEGER ; BEGIN VI_HYXH:); DELET…
接下来介绍上篇接触到的存储过程中的sql语句 insert into TMP_GT3_sbfgl_WJSTJB SELECT NSR.NSRSBH, NSR.NSRMC, NSR.SCJYDZ, case when NSRKZ.FDDBRYDDH is not null then '法人' || NSRKZ.FDDBRYDDH else '' end || case when NSRKZ.SWDLRLXDH is not null then ',税务代理人' || NSRKZ.SWDLRLXDH…
一.在oracle项目开发中越到问题: 在利用ODP向oracle中插入数据时,如果这样写:   insert into clobTable (id, story) values(1,'....'); 其中story为clob类型   如果story的长度大于2000字节,直接插入将出现 ORA-01704:文字字符串过长 的错误. 解决方案:       方案一.利用参数   insert into clobTable (id, story) values(1,:story);   Oracl…
一.SQL语言的使用1.IN 操作符    用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格.    但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:    ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询.    由此可见用IN的SQL至少多了一个转换的过程.一般的SQL都可以转换成功,但对于含有分组统计等方面…
create or replace procedure sum_info is i integer; temp1 varchar2(50); temp2 varchar2(50); t1 date; t2 date; v_sql varchar2(100); v_sqm varchar2(100); u_name t_temp.u_name%TYPE; t_name t_temp.t_name%TYPE; c_name t_temp.c_name%TYPE; cursor tb_list is…
Oracle的并发技术可以将一个大任务分解为多个小任务由多个进程共同完成.合理地使用并发可以充分利用系统资源,提高效率.一. 并发的种类Parallel queryParallel DML(PDML)Parallel DDL Parallel recovery [@more@] 二. 适用场合适用parallel的两个条件 1)大的任务,如全表扫描大表这和日常生活中的经验是一样的,小任务自己完成都比派发任务省事 2)系统有足够的资源(cpu/io)换句话说,并发是在系统资源充足.用户少的系统上,…
基于Oracle的SQL优化(社区万众期待数据库优化扛鼎巨著) 崔华 编   ISBN 978-7-121-21758-6 2014年1月出版 定价:128.00元 856页 16开 编辑推荐 本土Oracle数据库性能优化顶级大师泣血力作 集十数年实战修行与潜心钻研之大成 盖国强等国内数据库一线名家联合推荐 囊括数据库性能优化技术所有分支与脉络,讲解通俗,实例经典 内容提要 <基于Oracle的SQL优化>是一本与众不同的书,它的目的是使读者真正掌握如何在 Oracle数据库里写出高质量的…
Oracle数据库里SQL优化的终极目标就是要缩短目标SQL语句的执行时间.要达到上述目的,我们通常只有如下三种方法可以选择:1.降低目标SQL语句的资源消耗.2.并行执行目标SQL语句.3.平衡系统的资源消耗.方法1:a.在不更改业务逻辑的情况下改写SQL来降低目标SQL语句的资源消耗. b.不改写SQL但通过调整执行计划或相关表的数据来降低目标SQL语句的资源消耗.注意:走索引不一定比全表扫描好,例如在很多情况下走索引的嵌套循环连接的执行效率往往比不上走全表扫描的哈希连接的执行效率.方法2:…
在查看sql执行计划时,我们会发现表的连接方式有多种,本文对表的连接方式进行介绍以便更好看懂执行计划和理解sql执行原理. 一.连接方式: 嵌套循环(Nested Loops (NL)) (散列)哈希连接(Hash Join (HJ)) (归并)排序合并连接(Sort Merge Join (SMJ) ) 二.连接说明: 1.Oracle一次只能连接两个表.不管查询中有多少个表,Oracle在连接中一次仅能操作两张表. 2.当执行多个表的连接时,优化器从一个表开始,将它与另一个表连接:然后将中间…