关于存储过程,里边的SQL语句摘出来同样的参数查询出2条记录,但是执行存储过程只有一条记录。

求教,我是哪点写错了?初学存储过程
2024-12-02 14:16:01
推荐回答(1个)
回答1:

问题不在于语句,问题在于【@bqkh=sum(....】
你想要多行数据,但记在变量里面的只会有一个值,变量不同于表
不会把所有的结果都记录下

如果一定要多个结果的话,使用临时表吧,把查询结果都插入临时表,或者另建一个表
每次进来就删除那个表的数据,或者删除那个临时表。

但如果这个存储过程调用很频繁,很多人调用容易产生并发问题

更好的解决方案是:使用表函数,即:写个函数,返回值是表变量