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创建程序包
一、程序包的相关知识
1.定义与说明
a. 相关对象的封装
b. 程序包的各部分
- 程序包规格说明
声明子程序
- 程序包主体
......
在实际开发中,经常会需要对数据库进行访问,最常见的开发方法就类似:
string sql = "select * from table1 where name = '" + name + "'";
这种方式有被注入攻击的危险
所以解决方案有2种:
1、改成:string sql = "select * from table1 where name = '" + name.Replace("'","''") + "'"; // 替换一 ......
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数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径, 该目 ......