【 使用环境 】测试环境
【 OB or 其他组件 】OB (Mysql兼容)
【 使用版本 】2.2.77
【问题描述】请问存储过程的结果是否支持集合结果的返回
【复现路径】根据官方文档创建的存储过程,配置了out 参数,执行存储过程报错:结果不止一行,用limit 限制后正常,业务场景需多行返回,
请问是否支持多行返回,文档没有做相关说明
【问题现象及影响】业务场景不可用,该问题在sql server 数据库迁移过程中也遇到,迁移计划因此搁置
【附件】
商业版本建议找商业版支持同学,可以更快解决问题。
我们也用的sqlserver,mark一下,坐等解决方案
- mysql不支持存储过程的出参是集合结果,实际上mysql模式下也没有集合数据类型。
- 用于依然可以通过存储过程返回多行结果集数据,但是理解上可能有些不同。在存储过程内部的select语句如果不带有into的场景,select的结果集会直接返回给客户端。 比如 create procedure proc() begin select col from t; end; 这在mysql下是合法的,执行call proc会将select col from t返回到客户端。
存储过程里是入参和出参可以是array吧
oracle下可以,mysql下没有array数据类型,是不可以的。