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

存储过程 的错误 谁来帮帮我 看看哪错了

存储过程 的错误 谁来帮帮我 看看哪错了

心有法竹 2018-12-06 17:33:04
create proc proc_manager @tablename varchar, @strWhere varchar, @count int output as begin declare @strSql nvarchar(1000) set @strSql='select @count=count(1) from '+@tablename+' where '+@strWhere end exec sp_executesql @strSql,N'@count int output',@count output drop proc proc_manager declare @sum int exec proc_manager 'ask','id>0',@sum output print @sum 错误: 消息 4145,级别 15,状态 1,第 1 行 在应使用条件的上下文(在 'i' 附近)中指定了非布尔类型的表达式。
查看完整描述

1 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

你把

exec sp_executesql @strSql,N'@count int output',@count output
替换为 print @strSql 看看输出什么,是不是拼接的字符串不对,错误提示说where后面应该是逻辑表达式,但是解析不对,所以我估计是字符串的拼接问题
查看完整回答
反对 回复 2019-01-07
  • 1 回答
  • 0 关注
  • 411 浏览
慕课专栏
更多

添加回答

举报

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