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

怎么将存储过程执行的值赋给变量 set @pass= exec Pass '1','1' 这样不行 说'exec'附近有语法错误

怎么将存储过程执行的值赋给变量 set @pass= exec Pass '1','1' 这样不行 说'exec'附近有语法错误

大话西游666 2018-12-06 23:34:41
begindeclare @i intdeclare @pass12 varchar(20)declare @id varchar exec @pass12=pass '1','1' select @pass12 as 'a'end   pass是存储过程 这样可以显示exec @pass12=pass '1','1' 的值,但是select @pass12 as 'a'显示的是0
查看完整描述

2 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

执行存储过程之后 返回的是一个结果集,所以你是不能用一个变量去接收的。

在你的这个里面,只是因为返回的结果集刚好只有一行一列,所以让你误以为返回的是一个字段,就可以直接用变量接收了。

至于为什么这样写之后 显示的是0,我也没搞明白。

查看完整回答
反对 回复 2019-01-07
?
Helenr

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

这样肯定是有语法错误啊, 你把'1'这种特殊的字符串别这么输入, 用参数的形式传。

查看完整回答
反对 回复 2019-01-07
  • 2 回答
  • 0 关注
  • 431 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号