摘要: Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是:select ... from tablename start with 条件1connect by 条件2where 条件3;例:select * from table start with org_id = 'HBHqfWGWPy' connect by prior org_id = parent_id; 简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:org_id,parent_id那么通过表示每一条记录的paren 阅读全文
posted @ 2013-01-17 19:06 Peyton 阅读(169) 评论(0) 推荐(0) 编辑
摘要: insert first/all利用insert first/all使得INSERT语句可以同时插入多张表,还可以根据判断条件来决定每条记录插入到哪张或哪几张表中。insert first/all语法[ ALL | FIRST ]WHEN condition THEN insert_into_clause [values_clause][insert_into_clause [values_clause]]...[WHEN condition THEN insert_into_clause [values_clause][insert_into_clause [values_clause]]. 阅读全文
posted @ 2013-01-17 18:40 Peyton 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 权限管理主要涉及三个概念:用户,角色,权限。在Oracle中对应于三个对象User,Role,Privilege;用户就是具体使用数据库的使用者,包括DBA,开发使用者,角色包含一组相关的权限,可以方便权限的管理,权限可以分为System privilege和Object privilege,系统权限主要是针对数据库级别的,而对象权限主要是针对数据库的对象的级别。简单的类比:张老师,王同学是User;老师,学生是角色;教课,上课等等就是权限。具体操作:create user user1 identified by user1;alter user user1 identified by tes 阅读全文
posted @ 2013-01-17 16:52 Peyton 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 因为很少用到, 所以几乎忘记了这几个函数, 不过它们还是很有用的使用它们可以大大简化一些SQL文的语法, 至于效率问题,如CCW所说它们和EXISTS, IN 之类没有什么差别, 而且要具体问题具体分析其中ANY和SOME在意思上是相同的,可以相互替代.举几个例子来说明ALL和ANY的用法1. SELECT * FROM TABLEA WHERE FLD > ALL(SELECT FLD FROM TABLEA)这相当于SELECT * FROM TABLEA WHERE FLD > (SELECT MAX(FLD) FROM TABLEA)2. SELECT * FROM TAB 阅读全文
posted @ 2013-01-17 16:49 Peyton 阅读(163) 评论(0) 推荐(0) 编辑
摘要: System:允许用户执行特定的数据库操作或某类数据库操作,例如,创建表空间的权限就是一种系统权限。Object:允许用户对特定对象(如表、视图、序列、过程、函数或程序包)执行特定的操作。oracle有100多种不同的系统权限。系统权限可分为以下几类:1)允许执行系统范围操作的权限;如CREATE SESSION,CREATE TABLESPACE2)允许管理用户自己方案中的对象的权限;如CREATE TABLE3)允许管理任何方案中的对象的权限;如CREATE ANY TABLE可使用DDL命令GRANT和REVOKE控制权限,这两个命令为用户或角色添加和撤消系统权限。系统权限举例:图1授予 阅读全文
posted @ 2013-01-17 16:19 Peyton 阅读(228) 评论(0) 推荐(0) 编辑