12 2009 档案
摘要:Oracle 10g 增加了一个非常有用的 group 函数 ----- COLLECT, 并且在11g中得到了进一步加强。 这个函数可以用来实现“String Aggregation” 作用, 即把同一个group中的多行数据转成一行(以collection形式出现)。记得曾在园子中回答过一个SQL问题,见这里, 当时用到的是sys_connect_by_path,但是这种方法性能很不好,在下...
阅读全文
摘要:1. v$version SQL> desc v$version; Name Null? Type ------------------------------------------------------------------------------------------------- BANNER VARCHAR2(64) SQL> select * from v$vers...
阅读全文
摘要:Oracle 9i 引入了flashback query,可以方便我们查询过去一个时间“点”的数据库的状态。比如我们在T1时刻更改了一条记录,接着在T2时刻删除了该条数据(并且commit了),我们可以通过flashback query来查询到T1时刻的该条记录。 Oracle 10g把flashback query推进了一步,不光可以查询过去一个时间“点”的数据库状态, 而且可以查询过去一段时间...
阅读全文
摘要:默认的Select 语句的显示结果是把表中的每一条记录显示成一行,如果表的列数很多会带来一个问题(求其是在SQL*PLUS中),那就是要么列名显示不全,或者会折成很多行来显示,造成阅读上的不便。 如果我们只是很关心这种多列表中的特定一行或几行数据,如果可以把显示结果“转置”过来,每一行显示一个列的数据,这样会大大有助于阅读,分析数据。 多说无益,还是上例子说明。 如下, 默认的显示 SQL&g...
阅读全文
摘要:本文基本上是对Orace文档(http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14289/dciaggfns.htm#sthref542) 的翻译。 Oracle提供了很多预定义好的聚集函数,比如Max(), Sum(), AVG(), 但是这些预定义的聚集函数基本上都是适应于标量数据(scalar data), 对于复杂的数据类型...
阅读全文
摘要:Abstract: 行变列,列变行在生成报表的时候经常遇到,行变列叫做"Pivot”, 反之叫做"Unpivot”。 在Oracle11g之前,一般都是通过很多work around来实现,但是Oracle11g中直接支持PIVOT和UNPIVOT的操作。 关于PIVOT和UNPIVOT用法可以参见这里 1. Rows to Columns Rows to Columns是比较常见的操作,比...
阅读全文
摘要:Abstract: Function-based index 可以很巧妙地帮助我们实现“不一般”的unique index, 但是如果没有注意function-based index对于该index对应的function的要求,很有可能会触发ORA-01802这个错误。 本文尝试去阐述这个错误是如何触发的,以及如果去解决。 OK, let’s get down to business. 记得To...
阅读全文
摘要:了解历史,才能预知未来! 下图列出了c#的发展史
阅读全文
摘要:看了这本《C# in Depth》的第一部分,觉得作者Jon Skeet对c#中的一些概念打的比方非常有意思,而且让人一下子就明白。关于其中个人认为比较出彩的地方,记录如下:1. delegate 通常大家提到delegate,往往就会提到C中的函数指针。诚然,两者确实有相似的地方,都是通过某种方式来间接调用方法。但是毕竟C#中的delegate不同于C中函数指针,而且单单提到函数指针也很难确切表达delegate的用处所在。还是来看看Jon是怎么来讲述delegate是个什么东东吧。 Jon说我们可以把这个delegate看做是一个人的遗嘱,里面列出了这个财产该怎么分配,是给情人还是老婆等等
阅读全文
摘要:【 注意Presenter跟View之间的关系,从Presenter出发的箭头并没有直接连在View上,而是跟View的“接口”相连,这就说明一个很重要的一点就是Presenter并不是直接跟具体的View紧密联系在一起,Presenter只知道View的Interface。这样做的好处就是让Presenter可以独立于具体的View而实现所有的logic, 如果之后改变View,只要相应的Int...
阅读全文

浙公网安备 33010602011771号