海峡查询产生结果。 sp_execute sql没有

时间:2018-03-06 17:51:45

标签: sql-server resultset dynamic-sql

也许我会失明。我无法弄清楚为什么这个查询

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'

不返回任何行。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

查询中不需要引号。

exec sp_executesql N'select * from sys.tables where name = @TableName',N'@ TableName nvarchar(128)',@ TableName = N'foobar'

https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-executesql-transact-sql