sql server2005后版本中,with递归做做子查询

来源:互联网 发布:邮件整理软件 编辑:程序博客网 时间:2024/05/01 20:45

sql server2005后版本中,with递归做子查询这样的想法恐怕是在很多在写SQL语句中都想实现的是个功能,但是由于with 语句的特殊性,不能做为子查询,由此,我们只能采用其他的方式去突破,在数据库中有函数这个东西,因此可以把WITH的这个查询写成一函数,在需要的时候去进行调用函数即可。

示例:

with temptable(PID,ID,Name)

as

(

   select PID,ID,Name from Table_A where Id=@ID

   union all

  select  Table_A.PID,Table_A.ID,Table_A.Name  from Table_A, temptable where tableA.PID=temptable.ID

 

)select * from temptable

原创粉丝点击