为了账号安全,请及时绑定邮箱和手机立即绑定

EXEC 执行动态sql 带输出参数的问题

EXEC 执行动态sql 带输出参数的问题

慕无忌1623718 2018-07-24 09:10:13
语句:declare @TotalCount int,@sql varchar(100)set @sql='SELECT @Count=count(*) from student where name like ''%小%'''exec sp_executesql @sql,N'@Count int output',@totalCount output结果:消息 214,级别 16,状态 2,过程 sp_executesql,第 1 行 过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'。
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

这个很明显有问题,

sp_executesql存储过程的参数和动态Sql都必须是nvarchar类型的,你使用varhcar类型的做为动态Sql语句肯定是不行的,

把名修改一下就行了

declare @TotalCount int,@sql varchar(100)

修改成

declare @TotalCount int,@sql Nvarchar(100)


查看完整回答
反对 回复 2018-07-26
  • 1 回答
  • 0 关注
  • 942 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信