sp_executesql:Procedure需要'ntext / nchar / nvarchar'类型的参数'@statement'

时间:2017-09-20 15:08:47

标签: sql-server sql-server-2008 tsql sql-server-2016

这就是我想要做的事情:

EXECUTE sp_executesql 
    'select * from AccessOrganizationSettings where OrganizationSys = @OrganizationSys', 
    N'@OrganizationSys nvarchar(250)', 
    @OrganizationSys = '805408'

但是我收到了这个错误:

  

过程需要'ntext / nchar / nvarchar'

类型的参数'@statement'

不确定我做错了什么。

1 个答案:

答案 0 :(得分:4)

如错误所示,您需要nvarchar而不是varchar。尝试:

EXECUTE sp_executesql 
    N'select * from AccessOrganizationSettings where OrganizationSys = @OrganizationSys', 
    N'@OrganizationSys nvarchar(250)', 
    @OrganizationSys = N'805408'

N使字符串成为nvarchar数据类型。