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

问题描述 投票:0回答:1

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

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'

不返回任何行。

我错过了什么?

sql-server resultset dynamic-sql
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.