请问这个语句到底会出现什么结果啊 
SELECT  @ids = @ids + CONVERT(VARCHAR,Position_id) + ',' 
FROM 
Position  
主要是这句,搞不清什么意思@ids = @ids + CONVERT(VARCHAR,Position_id) + ',' 
象是循环添加ID,但是没有循环啊 ,请教各位熟悉存储过程的兄弟 完整的是这样的,这个存储过程是在其他存储过程中调用的:
CREATE   proc sp_GetAllChildPositionID
@Position_id int
/*======================================================
功能: 得到此职位所有的子职位ID
参数:
@Position_id int : 职位ID
======================================================*/
ASDECLARE @ids VARCHAR(2000)
DECLARE @tmpids VARCHAR(2000)
DECLARE @oldids VARCHAR(2000)
DECLARE @sql nVARCHAR(2000)SET @ids =''
SET @tmpids=''
SET @oldids =''
SELECT  @ids = @ids + CONVERT(VARCHAR,Position_id) + ',' 
FROM 
uds_Position 
WHERE  super_Position_id = @Position_id  
and super_Position_id <>Position_id IF LEN(@ids)>0
SET @ids = LEFT(@ids,LEN(@ids)-1)
CREATE TABLE #Position(id int)
SET @oldids = @idsWHILE LEN(@oldids)>0
BEGIN
SET @sql = N'INSERT INTO #Position 
SELECT 
Position_id 
FROM 
uds_Position 
WHERE super_Position_id in (' + @oldids +')' EXEC (@sql)
SET  @tmpids=''
SELECT  @tmpids = @tmpids + CONVERT(VARCHAR,id) + ',' 
FROM #Position
IF LEN(@tmpids)>0
SET @tmpids = LEFT(@tmpids,LEN(@tmpids)-1) SET @oldids = @tmpids
DELETE FROM #Position
SET @ids = @ids + ',' + @tmpids
END IF LEN(@ids)>0
BEGIN
SET @ids = LEFT(@ids,LEN(@ids)-1)

SET @sql =N'SELECT Position_ID FROM uds_Position WHERE Position_id in (' + @ids + ')'
PRINT @sql
EXEC (@sql)
END
ELSE
SELECT Position_ID FROM uds_Position WHERE 1=2
GO