![](/img/trans.png)
[英]How to use a mysql stored procedure result set in another stored procedure
[英]how do i get a stored procedure result to use on another stored procedure or query statement
我正在嘗試創建一個存儲過程,其中過程內部是一個查詢語句,其結果將用作另一個查詢的參數
CREATE DEFINER=`root`@`localhost` PROCEDURE `getRecActive`(
IN adminid VARCHAR(25))
BEGIN
select record_id from records2 where record_div = @adminid
//i want to use record_id result to the next query
select * from records where record = "record_id";
END
select * from records
where record in
(
select record_id from records2 where record_div = @adminid
)
如果您必須將其作為一個過程執行,那么您需要將 select 轉換為局部變量並在第二個查詢中使用它。 給定
+----+----------+----------+
| id | username | photo |
+----+----------+----------+
| 1 | aaa | john.png |
| 2 | Jane | jane.png |
| 3 | Ali | |
+----+----------+----------+
3 rows in set (0.00 sec)
drop procedure if exists p;
delimiter $$
CREATE PROCEDURE p(
IN adminid VARCHAR(25))
BEGIN
declare vid int;
select id into vid from users where username = adminid;
select id,username,photo from users where id = vid;
END $$
delimiter ;
call p('aaa')
+----+----------+----------+
| id | username | photo |
+----+----------+----------+
| 1 | aaa | john.png |
+----+----------+----------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
請注意,您不能將結果集填充到變量中,如果這是您從第一個查詢中得到的結果,那么您嘗試做的事情根本不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.