SQL exec获取返回值报错
具体代码:
declare @sqll varchar(500)--执行的SQL语句
declare @dept varchar(20)--变量
declare @empid int--变量
declare @gz_date varchar(20)--返回值
set @empid=3
set @dept='开发部'
set @sqll='select @a=gz_date from '+@dept+' where empid='+CONVERT(varchar(20),@empid)
exec sp_executesql @sqll,N'@a varchar(20) output', @gz_date OUTPUT
上述代码执行时会报错:过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'。
这该怎么解决?
------解决方案--------------------declare @sqll varchar(500)--执行的SQL语句
要换成nvarchar(500)数据类型吧
------解决方案--------------------declare @sqll nvarchar(500)--执行的SQL语句