sql server2005後版本中,with遞歸做做子查詢

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章