oracle 层次化查询
层次化查询:
select [level],colomn,...from table
[where where_clause]
[ [start with start_condition] [connect by prior prior_condition] ];
,使用count(distinct level) 可以获取层次数
从下向上遍历,交换connect by prior 父节点和子结点的顺序即可
要去掉某个节点及其自己点在查询结果中,可以在connect by prior 子句中使用and condition 即可。
只去掉某节点,而保留子结点,只需在where 中添加条件即可
层次化查询中也可以使用子查询
利用查询修改,语句
update table T set sid = (select pid from T2 where T.sno = T2.sno)
where exists (select 1 from T2 where T.sno = T2.sno)
相关文档:
日常开发活动中,有时候需要对oracle执行计划进行监控,以此来调优程序和数据库方面的性能。
常用方法有以下几种:
一、通过PL/SQL Dev工具
1、直接File->New->Explain Plan Window,在窗口中执行sql可以查看计划结果。其中,Cost表示cpu的消耗,单位为n%,Cardinality表示执行的行数,等价Row ......
ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也是由实例和文件组成, 也可以通过sqlplus 工具来维护。
1. ASM 实例由SGA 和后台进程组成。
1.1 SGA ......
对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<、<=、!=),并非说用>,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇,同样是伪列,rownum ......
用Oracle Sql Developer操作表的时候,不知咋的把表锁住了。
结果那张表一插数据就死,连truncate都不行。
从网上七拼八凑了个方法,终于把进程杀了,表也就解锁了。
首先要用dba级别的用户操作,因为要察看很多系统表。用普通用户操作的话,会提示表或者View不存在。(为什么不提示权限不够?害我总以为是版本问题)
� ......
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_crypto.htm
oracle自带文档写的比较清楚
24
DBMS_CRYPTO
DBMS_CRYPTO
provides an interface to encrypt and
decrypt stored data, and can be used in conjunction with PL/SQL
programs running network communications. It provides suppo ......