您可以将表名包含在
[]
SET @sql= N' select * from [' + @tblname + '] where name= @param1 and id= @param2';
但是,如果使用两部分命名约定,例如
dbo.tablename,则必须添加其他解析,因为这
[dbo.tablename]将导致:
无效的对象名称[dbo.tablename]。
您应该对其进行解析,以使其等于
dbo.[tablename]。

您可以将表名包含在
[]
SET @sql= N' select * from [' + @tblname + '] where name= @param1 and id= @param2';
但是,如果使用两部分命名约定,例如
dbo.tablename,则必须添加其他解析,因为这
[dbo.tablename]将导致:
无效的对象名称[dbo.tablename]。
您应该对其进行解析,以使其等于
dbo.[tablename]。