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

帮我看看,sql语拼接

帮我看看,sql语拼接

慕村9548890 2018-12-06 16:04:46
ALTER PROCEDURE  [dbo].[P_OA_JudgeFromValueWhere]@FromNo nvarchar(500),@strSql nvarchar(500),@ErrorCount int OUTPUTASBEGIN   EXEC ('SELECT '+@ErrorCount+'=COUNT(*) FROM V_OA_FromValueInfo WHERE FromNo='+@FromNo+' and '+@strSql); IF @@ERROR > 0   BEGIN     SET @ErrorCount = -1;    RETURN   END END   那里有问题,编译能过,执行报错 : '=' 附近有语法错误。
查看完整描述

6 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

你的语法不对,不能这么输出参数。得用这个

sp_executesql [@stmt =] stmt
[
    
{, [@params =] N'@parameter_name  data_type [,...n]' }
    {, [@param1 =] 'value1' [,...n] }
]

 补充示例:

DECLARE @Count INT
EXECUTE SP_EXECUTESQL N'SELECT @TempCount = COUNT(*) FROM SPT_MONITOR',
 N'@TempCount INT OUTPUT',
 @TempCount =@Count OUTPUT
PRINT @Count

查看完整回答
反对 回复 2019-01-07
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

'cast' 附近有语法错误。 编译没过
查看完整回答
反对 回复 2019-01-07
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

@- _ -?:sorry!我看错了,你的语句没有问题,可以编译通过!
查看完整回答
反对 回复 2019-01-07
?
互换的青春

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

这个不管有没有值返回都是 null
查看完整回答
反对 回复 2019-01-07
  • 6 回答
  • 0 关注
  • 578 浏览
慕课专栏
更多

添加回答

举报

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