《mysql从入门到精通》提高

时间:2023-03-09 07:40:18
《mysql从入门到精通》提高

第一

游标的使用

delimiter $$
DROP PROCEDURE IF EXISTS product_in_sheet_handler;
CREATE PROCEDURE product_in_sheet_handler()
BEGIN

DECLARE produce_record_sheet_number VARCHAR(32);
DECLARE stock_origin_type VARCHAR(32);

DECLARE flag INTEGER;

DECLARE cursor_pi CURSOR FOR SELECT produce_record_sheet_number, stock_origin_type FROM e_wms_product_in_sheet;

DECLARE EXIT HANDLER FOR NOT FOUND SET flag = 1;

SET flag = 0;

OPEN cursor_pi;
FETCH cursor_pi INTO produce_record_sheet_number, stock_origin_type;
WHILE flag <> 1 DO
IF produce_record_sheet_number IS NULL AND stock_origin_type != '生产加工' THEN
SELECT produce_record_sheet_number;
END IF;
IF produce_record_sheet_number IS NOT NULL AND stock_origin_type != '生产加工' THEN
SELECT stock_origin_type;
END IF;
FETCH cursor_pi INTO produce_record_sheet_number, stock_origin_type;
END WHILE;
CLOSE cursor_pi;
END
$$
call product_in_sheet_handler()$$
delimiter ;