Mysql 使用来自不同表的数据的存储过程
我有一个存储过程。如何调用从不同表中获取数据的过程。idGroup是来自不同表的列名Mysql 使用来自不同表的数据的存储过程,mysql,stored-procedures,procedure,Mysql,Stored Procedures,Procedure,我有一个存储过程。如何调用从不同表中获取数据的过程。idGroup是来自不同表的列名 DROP PROCEDURE IF EXISTS `simpleproc`; DELIMITER ;; CREATE DEFINER=`sa`@`192.168.1.253` PROCEDURE `simpleproc`(IN idGroup INT, IN groupName varchar(20),IN beginDate date, IN weekday1 INT, IN weekday2 INT
DROP PROCEDURE IF EXISTS `simpleproc`;
DELIMITER ;;
CREATE DEFINER=`sa`@`192.168.1.253` PROCEDURE `simpleproc`(IN idGroup INT, IN groupName varchar(20),IN beginDate date, IN weekday1 INT, IN weekday2 INT, IN lessonCount INT)
BEGIN
DECLARE i int;
DECLARE name1 int;
DECLARE price int;
SET i:=1;
WHILE i<=lessonCount DO
SET beginDate:=DATE_ADD(beginDate,INTERVAL 1 DAY);
IF WEEKDAY(beginDate) in(weekday1,weekday2) THEN
SET name1:=groupName+i;
SET price:=price DIV 8;
insert into lessons (lessonName, idGroup, lessonPrice, datePassed)
values (name1,idGroup,price,begindate);
END IF;
SET i:=i+1;
END WHILE;
END
;;
DELIMITER ;
DROP过程(如果存在)`simpleproc`;
分隔符;;
CREATE DEFINER=`sa`@`192.168.1.253`PROCEDURE`simpleproc`(在idGroup INT、groupName varchar(20)、beginDate date、weekday1 INT、weekday2 INT、lessonCount INT中)
开始
声明i int;
声明name1int;
申报价格;
集合i:=1;
而要调用的iSyntex是:callsimpleproc(1,'abc','2015-10-1012:12:43',2,3,4)代码>如果您希望基于某些表值迭代该值,那么您可以编写一个存储过程,该存储过程将有一个光标来选择和获取某些变量中的值,根据您的条件,您可以使用调用simpleproc(1,'abc',2015-10-10 12:12:43',2,3,4)调用上述存储过程代码>