Decode360's Blog

业精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  397 随笔 :: 33 文章 :: 29 评论 :: 0 Trackbacks

05.SQL

     摘要: 前段时间看到一段SQL,感觉实现的逻辑非常绕,而且看了之后想了很久都没有想明白到底是怎么回事,再一直想到我都能记住这段SQL的具体细节了,放到博客上研究一下。  阅读全文
posted @ 2009-06-12 21:36 decode360 阅读(2621) | 评论 (0)  编辑

     摘要: 最近看同事操作数据库,用到了copy命令,惊叹自己之前竟然不知道。赶紧看了一下,虽然这么命令很简单,但是确实是很有用。
  阅读全文
posted @ 2009-05-23 23:10 decode360 阅读(1227) | 评论 (0)  编辑

     摘要: 今天在操作视图的时候发生了一个错误:ORA-01732: data manipulation operation not legal on this view 其实视图的更新是有很多的限制的,例如不能有聚合函数、分析函数、排序函数等等,而且如果两个表关联后的视图,则只能更新第一个表的字段等等。具体的说明可以在《SQL Reference》里找到,如下:
  阅读全文
posted @ 2009-04-10 21:01 decode360 阅读(505) | 评论 (0)  编辑

     摘要: 最近学到update的另一种写法,是以前自己从来没有使用过的,看了一下文档,也没有找到很详细的说明。这种update方式其基础是建立在Query中的,所以可以确保使用CBO而非RBO,可以在大表的更新时明显得提高效率。在这里记录一下基本的方法:  阅读全文
posted @ 2009-04-06 21:51 decode360 阅读(364) | 评论 (0)  编辑

     摘要: Tom的下面两段SQL都写得比较好玩,没有用到很复杂的函数,主要是思路很受益。第一段SQL的题目比较新奇,以前没遇到过这样的情况,Tom的答案也比较规整,基本就是自己创建一个标志位,然后在外层向左推进一位,当然用PLSQL肯定可以有更加便捷的方法。第二段SQL主要是中间的那句的思路,换我的话估计就是sum()over()之后再sign+decode了,用least+greatest真的比较精彩的逻辑。  阅读全文
posted @ 2009-04-04 22:43 decode360 阅读(252) | 评论 (0)  编辑

     摘要: 今天继续来学习一下SQLPLUS中的Report函数。这个在工作中使用到的机会不多,但是做好之后把结果打印出来看着会很爽。
参考文档:《SQL*Plus User's Guide and Reference Release 10.2 B14357-01》  阅读全文
posted @ 2009-04-03 23:05 decode360 阅读(560) | 评论 (0)  编辑

     摘要: 学习一下ratio_to_report函数,这个函数今天才遇到,以前都没有注意。主要是用来进行比例的统计的,也算是一个基础的统计函数,格式也没有什么特别的,只在这里做一个简单的记录。  阅读全文
posted @ 2009-04-02 21:56 decode360 阅读(358) | 评论 (0)  编辑

     摘要: Oracle可以将Update和Insert操作合并为一个MERGE操作。第一可以更加方便操作、简化逻辑,第二在Oracle的内部进行了效率的优化。  阅读全文
posted @ 2009-04-01 21:23 decode360 阅读(201) | 评论 (0)  编辑

     摘要: 今天来学习两个SQLPlus中的参数。  阅读全文
posted @ 2009-03-30 21:54 decode360 阅读(285) | 评论 (0)  编辑

     摘要: 对于Oracle的转义字符,对然了解,但是一直不是很明白。而且在SQLPlus下的ESCAPE还和函数ESCAPE不是一个意思,更加容易搞混,所以专门来学习一下。首先可以通过几个简单的例子来了解一下这个函数在SQL中的用法。  阅读全文
posted @ 2009-03-27 20:51 decode360 阅读(1862) | 评论 (0)  编辑