mysql 上的嵌套过程
nested procedures on mysql
我是 MySQL 的新手。我已经开始制作一个包含 table 客户的数据库,其中有两个过程。
getprocedure12
输入客户 ID 时 returns 客户名称
getcustage
输入id时returns顾客年龄
所以我想制作一个调用这两个过程的第三个过程,当给定 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
到 return 由内部 return 编辑的变量来电。
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 的新手。我已经开始制作一个包含 table 客户的数据库,其中有两个过程。
getprocedure12
输入客户 ID 时 returns 客户名称getcustage
输入id时returns顾客年龄
所以我想制作一个调用这两个过程的第三个过程,当给定 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
到 return 由内部 return 编辑的变量来电。
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