当前位置: 首页 > 图文教程 > 数据库 > Oracle > oracle中的connect by 在sql server中实现

Oracle
Oracle SecureFile的功能
Hibernate Oracle sequence的使用技巧
ORACLE 自动提交问题
Oracle 数据库中创建合理的数据库索引
教你设计大型Oracle数据库
Oracle 数据 使用游标
oracle SQL命令大全
Oracle 10G:PL/SQL正规表达式(正则表达式)手册
ORACLE 报警日志如何查看?
Oracle教程 误添加数据文件删除方法
Oracle 数据库 临时数据的处理方法
oracle 彻底删除方法
Oracle 安装和卸载问题收集(集合篇)
oracle dba 应该熟悉的命令
oracle 分页 很棒的sql语句
Oracle 存储过程总结(一、基本应用)
Oracle 存储过程总结 二、字符串处理相关函数
Oracle 启动例程 STARTUP参数说明
Oracle 插入超4000字节的CLOB字段的处理方法
Oracle 管道 解决Exp/Imp大量数据处理问题

Oracle 中的 oracle中的connect by 在sql server中实现


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 62 ::
收藏到网摘: n/a

1。Oracle中:
select org_id
from organizations
start with org_id= :org_id
connect by prior org_id=supervision_org_id
order by supervision_org_id

2。Sql Functiong:
 FunctionNo SubFunctionNo SubFunctionType  
  01.   systemadmin Privilege 0  
  01.   systemadmin subsysadmin 1(表示樹枝)  
  subsysadmin subsys1 0(表示leaf)  
  subsysadmin subsys2 0  
  subsysadmin User 1  
  User UserOne 0  
   
  請教實現此層次結構輸出的函數(在oracle中可以使用connect   by實現此功能)  
   
  先謝了.
 3。sql语句实现:
举例:  
   
  declare   @a   table   (TC_Id   int,TC_PID   int,TC_Name   varchar(200))  
  insert   @a   values(1,0,'中国')  
  insert   @a   values(2,0,'美国')  
  insert   @a   values(3,0,'加拿大')  
  insert   @a   values(4,1,'北京')  
  insert   @a   values(5,1,'上海')  
  insert   @a   values(6,1,'江苏')  
  insert   @a   values(7,6,'苏州')  
  insert   @a   values(8,7,'常熟')  
  insert   @a   values(9,6,'南京')  
  insert   @a   values(10,6,'无锡')  
  insert   @a   values(11,2,'纽约')  
  insert   @a   values(12,2,'旧金山')  
   
  declare   @tmp1   table   (TC_Id   int,TC_PID   int,TC_Name   varchar(200),lev   int)  
  insert   @tmp1   select   *,1   from   @a   where   tc_ID=1  
  while   exists(select   1   from   @a   a,@tmp1   b   where   a.tc_pid=b.tc_ID   and   a.tc_ID   not   in   (select   tc_ID   from   @tmp1))  
      insert   @tmp1   select   a.*,1   from     @a   a,@tmp1   b   where   a.tc_pid=b.tc_ID   and   a.tc_ID   not   in   (select   tc_ID   from   @tmp1)  
  select   *   from   @tmp1