![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oracle
文章平均质量分 61
项目管理传播者
我就一个字
展开
-
PL/SQL开发中动态SQL的使用方法
一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DDL语句及系统控制语句,可以通过使用动态SQL来实现。首先我们应该了解什么是动态SQL,在Oracle数据库开发PL/SQL块中我们使用的SQL分为:静态SQL语句和动态SQL语句。所谓静态SQL指在PL/SQL块中使用的SQL...原创 2009-03-25 21:11:26 · 92 阅读 · 0 评论 -
oracle10g 的一个问题
oracle10g 的一个问题: 创建主键的时候, 默认创建了一个约束的同时,也会创建一个唯一索引,但删除主键的时候,默认仅仅删除约束,而不会删除唯一索引。...原创 2011-03-02 11:39:47 · 61 阅读 · 0 评论 -
Oracle 10g 中的递归查询(树型查询)
Oracle 10g 中的递归查询(树型查询) 一、树型表结构:节点ID 上级ID 节点名称二、公式: select 节点ID,节点名称,levelfrom 表connect by prior 节点ID=上级节点IDstart with 上级节点ID=节点值说明:1、常见的树形结构为公司组织机构、地区……2、求节点ID以上的结构,或以上的结构,将“节点ID=上级节点ID”左右顺序换一下...原创 2011-01-27 01:35:40 · 97 阅读 · 0 评论 -
PLSQL 中Merge into和Update的用法
在oracle 中有个语法:merge 用法如下:merge into 表1 using 表2 或者(select * from 表2)别名 on (表1.id=表2.id) when matched then update set 表1.列=表2.列 还有无条件的insert语句:MERGE INTO products p USING newproducts np...原创 2011-01-27 01:31:49 · 213 阅读 · 0 评论 -
Oracle培训的总结
前段时间,因为要升级系统到Oracle环境,公司请了一位在ebay做个Oracle dba的人给我们做性能优化的讲解,这个dba现在离开ebay,已经转做管理层了,知识还停留在Oracle 8上,当时去了有十几号人,我是有点基础,还有点收获,其他同事估计就云里雾里,专业术语脱口而出,没有基础简直就是听天书。 下面是我听下来,做的粗要笔记: 1, 基于成本的,10%的数据。 2, ...原创 2011-01-27 01:30:29 · 134 阅读 · 0 评论 -
Oracle 培训材料
前段时间给公司做个Oracle培训,一直在学oracle,但都对其没有完整的整理,这次对Oracle知识做了一个整理: Oracle 1,体系机构 1,内存体系 sga 系统程序区 共享池:执行计划缓存和数据对象缓存 数据缓存池:数据缓存(keep,default,recycle) 重做日志池:日志缓存 大池:用于备份数据库...原创 2011-01-27 01:29:03 · 89 阅读 · 0 评论 -
Oracle 简单的SQL调优
今天刚看到一篇简单的SQL调优,自己也试了一下优化。原文如下: http://valen.blog.ccidnet.com/blog-htm-do-showone-uid-51502-type-blog-itemid-291732.html 也做了一个简单的测试并做延伸: Oracle数据库中,有个表:COST_LEDG_H(数据大约300多万) ...原创 2011-01-27 01:27:24 · 60 阅读 · 0 评论 -
PL/SQL最差实践
1. 超长的PL/SQL代码 影响:可维护性,性能 症状: 在复杂的企业应用中,存在动辄成百上千行的存储过程或上万行的包。 为什么是最差: 太长的PL/SQL代码不利于阅读,第三方工具在调试时也会出现代码行混乱等问题。PL/SQL存储对象(存储过程、包、函数、触发器等)行数上限约为6000000行,但实际工作中,当包大小超过5000行就会出现调试问题。 解...原创 2011-01-27 01:15:31 · 76 阅读 · 0 评论 -
大表变小表,小表再连接————记一次PL/SQL优化过程
公司的业务系统中存在一个大的日志表,表大约是这样:create table log( logtime date, -- PK username varchar2(20));现有需求如下:统计日志表中,两小时内使用过系统的用户在三天内的日志数。最初编写的查询如下:WITH result1 AS ( SELECT DISTINCT username...原创 2011-01-27 01:12:30 · 332 阅读 · 0 评论 -
高效的PL/SQL程序设计--批量处理
批量处理一般用在ETL操作, ETL代表提取(extract),转换(transform),装载(load), 是一个数据仓库的词汇! 类似于下面的结构:for x (select * from...)loop Process data; insert into table values(...);end loop; 一般情况下, 我们处理大笔的数据插入动作, 有...原创 2011-01-27 00:59:45 · 98 阅读 · 0 评论 -
PL/SQL用户指南与参考--PL/SQL应用程序性能调优(转)
PL/SQL应用程序性能调优<!-- InstanceEndEditable --><!-- InstanceBeginEditable name="EditRegion2" -->一、PL/SQL性能问题的原由当基于PL/SQL的应用程序执行效率低下时,通常是由于糟糕的SQL语句、编程方法,对PL/SQL基础掌握不好或是滥用共享内存造成的。 PL...原创 2011-01-27 00:57:35 · 85 阅读 · 0 评论 -
PLSQL 中Merge into和Update的用法
这两天一直在处理关于SQL server存储过程转换到Oracle中,也发现一些oracle语句的区别。 在oracle 中有个语法:merge 用法如下:merge into 表1 using 表2 或者(select * from 表2)别名 on (表1.id=表2.id) when matched then update set 表1.列=表2.列 ...原创 2011-01-18 20:42:27 · 248 阅读 · 0 评论 -
PL/SQL优化
PL/SQL优化 注:O代表比X 更优化的写法。以下只是本人知道的一些基本的SQL优化,我更希望能从网友你们那里学习到更多的、更好的优化办法,提高自己的SQL编写能力。 1、尽量避免对索引列进行计算 例:X WHERE sa*1.1>950O WHERE sa>950/1.1 X WHERE SUBSTR(name,1,7)=’...原创 2011-01-18 19:51:05 · 89 阅读 · 0 评论 -
Oracle SQL 内置函数大全
SQL中的单记录函数1.ASCII 返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;A A ZERO SPACE--------- --------- --------- ---------65 ...原创 2009-03-25 21:25:27 · 102 阅读 · 0 评论 -
PL/SQL中用光标查询多条记录
一、 什么是光标 Oracle 使用两种光标:显式光标和隐式光标。不管语句返回多少条纪录, PL/SQL 为使用的每一条 UPDATE 、 DELETE 和 INSERT 等 SQL 命令隐式的声明一个光标。(要管理 SQL 语句的处理,必须隐式的给它定义一个光标。)用户声明并使用显示光标处理 SELECT 语句返回的多条记录。显示的定义光标一种结构,它使用户能够为特定的语句指定内存区域,以便以...原创 2009-03-25 21:19:02 · 145 阅读 · 0 评论 -
Oracle plsql后台程序建议
个人改进建议: 1、游标取数时,采用批量取数的方法: fetch cur bulk collect into (nested table/varray/index table) limit 1000; 2、UPDATE、INSERT语句采用动态SQL: execute immediate 'update table set col1 = :x,col2 = :y, ...' u...原创 2011-03-02 12:03:17 · 225 阅读 · 0 评论