CREATE   proc sp_GetAllChildPosition 
@Position_id int
/*======================================================
功能: 得到此职位所有的子职位
参数:
@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 * FROM uds_Position WHERE Position_id in (' + @ids + ')'
PRINT @sql
EXEC (@sql)
          COMMIT; 
END
ELSE
SELECT * FROM uds_Position WHERE 1=2
GO
这是存储过程的语句,我想从表中筛选出  super_Position_id<91的职位,可是直接在WHERE 后面加这个条件,结果却还是一样的,请高手们帮帮我,要看源码的加我QQ94027149