由于
cat是varchar,因此需要在其周围包含单引号,并且需要
IN在sql字符串内放置该子句的右括号。
新的代码将是:
DECLARE @SQLDelQuery AS NVARCHAr(1200) DECLARE @MemberNames varchar(50) SET @MemberNames = 'cat' SET @SQLDelQuery = 'SELECt [Email] FROM [aspnet_Membership] am INNER JOIN [aspnet_Users] u ON (am.UserId = u.UserId) INNER JOIN [Member] m ON (am.UserId = m.UserId) WHERe u.UserName IN (''' + @MemberNames + ''')' EXECUTE(@SQLDelQuery)查看打印了查询字符串的SQL
Fiddle演示。这将生成一个查询字符串,如下所示:
SELECt [Email] FROM [aspnet_Membership] am INNER JOIN [aspnet_Users] u ON (am.UserId = u.UserId) INNER JOIN [Member] m ON (am.UserId = m.UserId) WHERe u.UserName IN ('cat') -- cat surrounded in single quotes


