也许我会失明。我无法弄清楚为什么这个查询
select * from sys.tables where name = N'foobar'
生成该表的行但是
exec sp_executesql N'
select * from sys.tables where name = N''@TableName''
', N'@TableName nvarchar(128)',@TableName=N'foobar'
不返回任何行。
我错过了什么?
查询中不需要引号。
exec sp_executesql N'select * from sys.tables where name = @TableName',N'@ TableName nvarchar(128)',@ TableName = N'foobar'