常用的PL/SQL开发原则
摘要:(1)广泛使用绑定变量,特别是批量绑定,因为这可以有效的避免sql的硬解析和PL/SQL引擎和SQL引擎的上下文切换!(2)广泛使用UROWID来处理DML语句(UROWID是ROWID扩展,ORACLE推荐使用UROWID来替代ROWID)(3)在你的存储过程中谨慎使用DDL语句(create、alter、drop、truncate等),因为这可能会破坏你的transaction的连续性,更为严重的是可能会阻塞DML操作并可能会导致大量library cache latch争用并且有可能会导致某些sql执行计划的改变。(4)不要在存储过程里不应该commit的地方commit,特别是当你的存
阅读全文
posted @
2012-04-25 09:24
Ruthless
阅读(1859)
推荐(2) 编辑
js字符串转化为日期及日期判断大小
摘要://将字符串转换为日期 var begin=new Date($("#begin").val().replace(/-/g,"/")); var end=new Date($("#end").val().replace(/-/g,"/")); //js判断日期 if(begin-end>0){ alert("开始日期要在截止日期之前!"); return false; }
阅读全文
posted @
2012-04-20 18:36
Ruthless
阅读(18937)
推荐(1) 编辑
webservices客户端调用
摘要:1)、首先, 你要先把你的WS服务启动起来,比如http://localhost:8080/Example/services/HelloWorldService?wsdl2)、然后,在你的另一个项目中建一个Webservice Client 客户端,用来访问你的WS服务。建立Webservice Client 方法如下,在Eclipses中建立一个java工程,然后在src上右键--NEW---Other---Web Service Client --Xfire--在WsdL url 中写上http://localhost:8080/Example/services/HelloWorldSer
阅读全文
posted @
2012-04-18 11:48
Ruthless
阅读(2058)
推荐(1) 编辑
三、常见分析函数详解
摘要:为了方便进行实践,特将演示表和数据罗列如下:一、创建表create table t( bill_month varchar2(12) , area_code number, net_type varchar(2), local_fare number );二、插入数据insert into t values('200405',5761,'G', 7393344.04); insert into t values('200405',5761,'J', 5667089.85); insert into t values('20
阅读全文
posted @
2012-04-06 15:43
Ruthless
阅读(17083)
推荐(3) 编辑
二、理解over()函数
摘要:1.1、两个order by的执行时机分析函数是在整个sql查询结束后(sql语句中的order by的执行比较特殊)再进行的操作, 也就是说sql语句中的order by也会影响分析函数的执行结果:a) 两者一致:如果sql语句中的order by满足分析函数分析时要求的排序,那么sql语句中的排序将先执行,分析函数在分析时就不必再排序;b) 两者不一致:如果sql语句中的order by不满足分析函数分析时要求的排序,那么sql语句中的排序将最后在分析函数分析结束后执行排序。1.2、分析函数中的分组/排序/窗口 分析函数包含三个分析子句:分组(partition by), 排序(order
阅读全文
posted @
2012-04-05 19:53
Ruthless
阅读(16797)
推荐(2) 编辑
一、Oracle分析函数入门
摘要:分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值。分析函数和聚合函数的不同之处是什么?普通的聚合函数用group by分组,每个分组返回一个统计值,而分析函数采用partition by分组,并且每组每行都可以返回一个统计值。分析函数的形式分析函数带有一个开窗函数over(),包含三个分析子句:分组(partition by), 排序(order by), 窗口(rows) ,他们的使用形式如下:over(partition by xxx order by yyy row
阅读全文
posted @
2012-04-04 15:12
Ruthless
阅读(39757)
推荐(9) 编辑
二十九、oracle 触发器
摘要:一、触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。然后,触发器的触发条件其实在你定义的时候就已经设定好了。这里面需要说明一下,触发器可以分为语句级触发器和行级触发器。详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发。而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次。具体举例:1、 在一个表中定义的语句级的触发器,当这个表被删除时,程序就会自动执行触发器里面定义的操作过程。这个就是删除表的操作就是触发器执行的条件了。2、 在一个表中定义了行级的触发器,那
阅读全文
posted @
2012-04-01 17:43
Ruthless
阅读(14685)
推荐(3) 编辑
数据库设计三大范式
摘要:为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分
阅读全文
posted @
2012-04-01 14:17
Ruthless
阅读(400258)
推荐(141) 编辑