sp_executesql : 过程需要 'ntext/nchar/nvarchar' 类型的参数“@statement”

sp_executesql : Procedure expects parameter '@statement' of type 'ntext/nchar/nvarchar'

这是我正在尝试做的事情:

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

但是我得到这个错误:

Procedure expects parameter '@statement' of type 'ntext/nchar/nvarchar'

不确定我做错了什么。

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

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

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