日期:2014-05-18  浏览次数:20471 次

忘了一个关键字,请帮我想想
我写了一个存储过程:
CREATE   PROCEDURE   AA
@UNAME   VARCHAR(255)
AS
DECLARE   @ID   VARCHAR(255)
DECLARE   @SQL   VARCHAR(255)
SELECT   @ID=PATH   FROM   DJD_TREE   WHERE   RID   IN(SELECT   RID   FROM   DJD_UANDR  
WHERE   UID=(SELECT   ID   FROM   DJD_USER   WHERE   UNAME=@UNAME))
SELECT   @SQL= 'SELECT   PAGENAME   FROM   DJD_PAGES   WHERE   ID   IN( '+@ID+ ') '
GO
@ID得到的结果如下样式
1,2,3,4,5,6
如果直接写sql语句的话,有类型转换错误,varchar不能转换成int.
所以我想把这个句子付值成变量,再执行这个变量
问如何执行这个变量(@SQL)

------解决方案--------------------
exec(@sql)