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

动态SQL语句问题请教
现在,我有一个用户表,要查询里面 姓名=‘a’或者=‘b’的用户信息,sql语句为
select * from users where userName in ('a',‘b’),
但是现在,我需要 姓名=‘a’或者=‘b‘的条件为动态的,即姓名条件通过参数传递,如下代码所示,其中@AllRoles 参数为传递的姓名条件

DECLARE @Sql NVARCHAR(2000)
DECLARE @ParaDefinition NVARCHAR(500)
DECLARE @Result NVARCHAR(500)

SELECT @Sql = N'SELECT @Num = count(*) FROM SYS_BPS_USERELEMENTS WHERE ltrim(rtrim(UE_CatSPM1)) IN ( @AllRoles )'
SELECT @ParaDefinition = N'@Num NVARCHAR(500) OUT,@AllRoles NVARCHAR(500)'

比如,我现在仍是 查询 的姓名条件为 姓名=‘a’或者=‘b’
请教,@AllRoles该如何赋值????