如何在 SQL 中将 table 变量与其他参数一起使用?

How to use table variable with other parameter in SQL?

  DECLARE @country varchar(30) = 'UK'
  DECLARE @table varchar(50)
  SET @table = 'NORTHWND.dbo.Employees'
  EXEC('select e.LastName, e.FirstName, e.PostalCode
  from ' + @table +' as e
  where e.Country like '+ @country )

给出:

消息 207,级别 16,状态 1,第 33 行 列名称无效 'UK'。

但我想列出所有 'UK' 名员工。我需要添加括号吗?我该怎么做?

您的 where 子句中似乎缺少围绕 UK 的“ ”,试试这个:

DECLARE @country varchar(30) = 'UK'
  DECLARE @table varchar(50)
  SET @table = 'NORTHWND.dbo.Employees'
  EXEC('select e.LastName, e.FirstName, e.PostalCode
  from ' + @table +' as e
  where e.Country like '''+ @country +'''' )