2013-12-20 66 views
0

我有一個函數,名稱爲fnc_FiderSumOfAboneSayisi可與參數@prm_fiderid被髮送的整數值。所以我有一個名爲的表格,其中有ID列的fider_data。 現在我想要將fider_data ID列值作爲參數發送給我的fnc_FiderSumOfAboneSayisi函數作爲循環。以發送參數存儲過程在循環

我該怎麼做?

----------功能

ALTER功能fnc_FiderSumOfAboneSayisi @prm_fiderid爲INT

返回int

開始

聲明@ parent int = @prm_fiderid;

declare @SUM int;

其中q如(

select * from fider_data where ParentId = @parent 

union all 

select lc.* from q 

join fider_data lc on lc.ParentId = q.ID) 

SELECT @ SUM =(SELECT SUM(卅一)FROM q其中ID < 33000)返回@SUM

---- ------ TABLE fider_data

ADI ID

TM 1 1

TM 2 2

TM 3 3

TM 4 4

TM 5 5

TM 6 6

TM 7 7

TM 8 8

TM 9 9

回答

0
DECLARE @id INT 

SET @id = (SELECT TOP 1.ID FROM fider_data ORDER BY ID ASC) 



WHILE @id IS NOT NULL 

BEGIN 
    SELECT fnc_FiderSumOfAboneSayisi @prm_fiderid = @id 

    SET @id = (SELECT TOP 1.ID FROM fider_data WHERE ID > @id ORDER BY ID ASC) 

END 
+0

好吧非常感謝你我的朋友 –