我有两个过程,分别是proc1和proc2。我正在一个过程中调用另一个mysql过程。
在proc1中,我想将proc2的值插入到proc1的临时表中。Proc2返回两列,但我只想将一列插入到proc1的临时表中。
proc2的输出如下:
Hrs(Timestamp) Status
09:30 IN,OUT,IN,OUT
04:30 IN,OUT
07:30 IN,OUT,IN,OUT
04:25 IN,OUT
Proc1 代码
CREATE PROCEDURE Proc1()
BEGIN
DROP TABLE IF EXISTS TempWorkedHrs ;
CREATE TEMPORARY TABLE TempWorkedHrs(WorkedHrs TIMESTAMP);
INSERT INTO TempWorkedHrs(WorkedHrs)
CALL Proc2();
SELECT SUM(WorkedHrs) INTO @TotalHrs
FROM TempWorkedHrs;
END //
当我在proc1中向临时表插入值时,proc2中的第二列对我来说没有任何意义。
问题1:如何将从存储过程返回的特定列插入到临时表中?在我的情况下是proc2的第一列。