mysql - mysql 上的嵌套过程

标签 mysql nested procedure

我是 MySQL 新手。我已经开始创建一个包含客户表的数据库,该表有两个过程。

  1. getprocedure12 当输入客户 ID 时返回客户姓名
  2. getcusage,输入 ID 时返回客户的年龄。

所以我想创建第三个过程来调用这两个过程,当给定 id 时,它将输出姓名和年龄。

你能帮我弄清楚如何获得我想要的输出吗?

CREATE PROCEDURE `nestedprocedurecustomers` (IN ID INT)
BEGIN
 DECLARE (customername varchar(20), customerage INT);
 CALL getcustomername12( cust_id, customername);
 CALL getcustage( cust_id, customerage);
WHERE cust_id= ID;

END

最佳答案

您不能在查询之外使用 WHERE。不需要 cust_id 变量,只需使用 id

最后,由于此过程没有任何 OUT 参数,因此您需要使用 SELECT 返回内部调用返回的变量。

CREATE PROCEDURE `nestedprocedurecustomers` (IN ID INT)
BEGIN
    DECLARE customername varchar(20);
    DECLARE customerage INT;
    CALL getcustomername12(id, customername);
    CALL getcustage(id, customerage);
    SELECT customername, customerage;
END

关于mysql - mysql 上的嵌套过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51370492/

相关文章:

php - 如何将从数据库表中获取的值设置为cakephp下拉列表中的选定值?

java - 在 JSP 页面上访问 JSTL 中的嵌套对象

django - 发布数据以同时创建相关的 Tastypie 资源?

android - Android 市场许可程序

c++ - Visual C++ express 2010 程序入口点 ??1task_group_context@tbb@@QAE@XZ 无法位于动态链接库 tbb.dll 中

java - 无法将多个数据插入数据库

mysql更新字段值来自同一个表中的另一个字段

mysql - 日期时间的奇怪行为

ruby-on-rails-4 - 为什么这些嵌套的无作用域 block 在 Rails 3 中工作时不能删除 Rails 4 中的 default_scope?

mysql - 另一个 MySQL 语法错误