CREATE PROCEDURE p5( j INT) BEGIN DECLARE i INT; SET i=0; WHILE i < j DO CALL p4(i); SET i = i + 1; END WHILE; END
CREATE PROCEDURE ww(OUT managers VARCHAR(400)) BEGIN DECLARE finished BOOL DEFAULT FALSE; DECLARE count INT DEFAULT 0; DECLARE name VARCHAR(100); DECLARE warehouseWalker CURSOR FOR SELECT Manager FROM WAREHOUSE; DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = TRUE; OPEN warehouseWalker; FETCH warehouseWalker INTO name; WHILE finished IS NOT TRUE DO IF COUNT = 0 THEN SET managers = name; SET COUNT = 1; ELSE SET managers = CONCAT(managers,', ', name); END IF; SELECT name; FETCH warehouseWalker INTO name; END WHILE; CLOSE warehouseWalker; END;
CREATE PROCEDURE mw() BEGIN DECLARE finished BOOL DEFAULT FALSE; DECLARE count INT DEFAULT 0; DECLARE name VARCHAR(100); DECLARE warehouseWalker CURSOR FOR SELECT Manager FROM WAREHOUSE; DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = TRUE; OPEN warehouseWalker; FETCH warehouseWalker INTO name; WHILE finished IS NOT TRUE DO SET @PRIVATE_SQL1 = CONCAT("SELECT SKU, QuantityOnHand, QuantityOnOrder FROM INVENTORY, WAREHOUSE WHERE WAREHOUSE.WarehouseID = INVENTORY.WarehouseID AND Manager = '",name, "'"); PREPARE stmt1 FROM @PRIVATE_SQL1 ; EXECUTE stmt1; DEALLOCATE PREPARE stmt1; FETCH warehouseWalker INTO name; END WHILE; CLOSE warehouseWalker; END;