sql trunning
DRAGON__90
这个作者很懒,什么都没留下…
展开
-
ORACLE merge Into 独立使用的用法
1,merge into的语法原创 2014-09-03 14:14:36 · 870 阅读 · 0 评论 -
Oracle查询中rownum与Order by查询的关系(取数据的前几条)
在开发应用的时候,把数据按照一定的规则排序后再取前几条数据这种操作是很平常的事情。我们在Oracle中常用的就是order by,然后取得rownum小于多少的数据这种方法。不过如果对Oracle不熟悉,也许就会发现你写的SQL语句检索出来的值不正确,这个是为什么呢.因为Oracle在检索的时候,会首先把数据都检索出来,然后在排序段中进行排序(也就是说,先有rownum值,然后才order转载 2013-06-26 11:12:02 · 1092 阅读 · 1 评论 -
update优化案例
UPDATE mid_os_userinfo_day_tmp b SET (twoorderdate, twoservicetype, twoordertype, twoorderway) = (SELECT a.createtime, a.serviceitem, opertype,原创 2014-12-08 09:43:42 · 491 阅读 · 0 评论 -
ORALE11g Direct Path Read可能影响性能
在Oracle Database 11g中有一个新特性,全表扫描可以通过直接路径读的方式来执行(Direct Path Read),这是一个合理的变化,如果全表扫描的大量数据读取是偶发性的,则直接路径读可以避免大量数据对于Buffer Cache的冲击。当然对于小表来说,Oracle允许通过Buffer Cache来进行全表扫描,因为这可能更快,也对性能影响不大。小表受到隐含参数:转载 2015-01-16 16:44:05 · 416 阅读 · 0 评论 -
oracle 动态sql的用法
在pl/sql中,我们的表名称或者参数是不固定的,经常用到动态sql;一,几种常用的动态sql的用法 1,Execute Immediate ‘执行的sql’; 2,dbms_sql 包Declare curid Number; l_sql Varchar2(1000); l_cnt Number(5); l_ret Number(5); lv_deptno Number(2原创 2015-04-20 20:42:57 · 579 阅读 · 0 评论 -
oracle分析函数sum求逐行递减
背景描述: XXX欠我1000元,在某一天还了100,过了几天又还了150,最近又还了550。 求:每次换我钱后,还欠我多少钱。分析:我们可以用oracle的分析函数sum()来解决这个问题,通过换钱的时间升序,然后用总的金额减去前面总共还了多少,得到每次还了还欠的钱。With tmp As (Select to_date('20140228','yyyymmdd') a,1000 b原创 2015-05-07 22:10:31 · 4943 阅读 · 0 评论 -
ORACLE 11gR2 Cardinality Feedback 的优化案例
今天一同事发邮件说,有个sql,第一次跑的很快,后面跑的很慢,要我优化下,由于没有权限,不能查看oracle的数据字典(坑爹)执行计划也看不了,于是只有从sql,方面来着手(不看执行计划也能优化?具体咨询骚落和教主),不扯淡了,来看sql。Select * From (Select Distinct x.Bar_Code As Barcode, x原创 2015-05-27 22:18:50 · 2560 阅读 · 0 评论 -
ORACLE中date和timestamp的相互转化
oracle 中date类型精确可以年月日,时分秒,timestamp类型可以精确的秒一下data转为timstampdata 转为timstam可以函数to_timestamp的方式来转化:SQL> Select to_timestamp('2006-01-01 12:10:10.1','yyyy-mm-dd hh24:mi:ss.ff') From dual;TO_TIMESTAMP('2006原创 2015-08-12 10:52:34 · 54077 阅读 · 0 评论 -
Oracle 中merge into不能更新on中的字段
oracle中的更新可以有这几中方式来实现: 1,update 2,merge 3,利用Pl/SQL批量更新我这里比较update和merge两种更新操作:首先看update操作:SQL> Update emp Set deptno = 90 Where deptno In (Select deptno From dept);14 rows updated.这里是没有错误的。merge 操作原创 2015-07-30 22:15:21 · 5252 阅读 · 0 评论