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

Oracle
Oracle数据库技术(32)
Oracle数据库技术(33)
Oracle数据库技术(34)
Oracle数据库技术(35)
Oracle数据库技术(36)
Oracle数据安全面面观
Oracle数据操作和控制语言详解
Oracle数据库数据对象分析
解析Oracle 8i/9i的计划稳定性
使用Oracle实现实时通信
Oracle数据库中索引的维护
Oracle数据库游标使用大全
Oracle9i中监视索引的使用
在Oracle9i中使用多种Block Size
监控Oracle数据库的常用shell脚本
Performance Improvement Tips for Oracle on UNIX
Raw Partitions and Windows NT
How to use OS commands to diagnose Database Performance issues?
Raw Devices and Oracle - 20 Common Questions and Answers
Monitor Oracle Resource Consumption in UNIX

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 46 ::
收藏到网摘: 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