我在任何地方都找不到这个答案,但是你能从MySQL中的另一个存储过程调用一个存储过程吗?我想取回标识值,并在父存储过程中使用它.我们不能再使用函数了!

推荐答案

CREATE PROCEDURE innerproc(OUT param1 INT)
BEGIN
 insert into sometable;
 SELECT LAST_INSERT_ID() into param1 ;
END
-----------------------------------
CREATE PROCEDURE outerproc()
BEGIN
CALL innerproc(@a);
// @a gives you the result of innerproc
SELECT @a INTO variableinouterproc FROM dual;
END

OUT个参数应该可以帮助您将值返回调用过程.基于此,解决方案必须是这样的.

Mysql相关问答推荐

MySQL查询获取图书的唯一读取页面数

错误:数据包顺序错误.GET:0预期:10 node JS MySQL

Golang中使用Gorm的Where条件转义字符无法正常工作的问题

生成json数据并根据特定表的匹配条件进行过滤

如何在 WampServer 上重新初始化 MySQL 以允许 lower_case_table_names = 2

如何优化使用多个 LEFT JOIN 和 GROUP BY 子句的慢速 MySQL 查询?

如何根据 R 中的价格范围将数据从一列复制到新列?

谁能帮我优化where子句

由于长时间操作而断开连接后,我的 sql 查询是否继续执行?

巨大的未分区 MySQL 表问题

Mysql insert with loop out of select 语句

用两个新列制作表格,按偶数或奇数对另一列进行分类,并将一个类别中的所有偶数和奇数相加

无法在两个 mysql 表上执行内部联接

Sequelize Query 查找日期范围内的所有记录

PHP mySQL - 将新记录插入表中,主键自动递增

MySQLgo 除非数字字符进行比较

BIGINT mysql 性能与 INT 相比

设计用户角色和权限系统的最佳实践?

如何在 MYSQL 中使用 SQL 在两个日期时间值之间减go 并以分钟或秒为单位检索结果?

在 MySQL 的 LIMIT 子句中使用变量