欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

使用MySQL存储过程和游标实现数据循环插入的示范

最编程 2024-08-05 07:40:10
...
CREATE PROCEDURE processdemo() BEGIN #声明一个开关变量flag用于循环结束判断默认是true DECLARE flag INT DEFAULT TRUE; -- Declare local variables,用于存储产品信息中的价格和名称 DECLARE p_price VARCHAR(45); DECLARE n_name VARCHAR(100); #申明一个游标,名字叫liuma,因为游标指向的表内有两个字段,需要两个变量存储,所有得申明两个变量; DECLARE liuma CURSOR FOR SELECT price,productName FROM product; -- Create a table to store the results CREATE TABLE IF NOT EXISTS price_demo( id INT auto_increment PRIMARY KEY , price VARCHAR(45), product_name VARCHAR(100) ); -- Open the cursor OPEN liuma; -- Loop through all rows REPEAT -- Get product price FETCH liuma INTO p_price,n_name; -- Insert price into price_demo INSERT INTO price_demo(price,product_name) VALUES(p_price,n_name); -- End of loop UNTIL flag = FALSE END repeat; -- Close the cursor CLOSE liuma; END; -- 调用存储过程 call processdemo; -- 查看存储状态 show PROCEDURE STATUS; -- 查看创建过程 show CREATE PROCEDURE processdemo; -- 调用结束删除存储过程 drop PROCEDURE IF EXISTS processdemo -- 查看结果 SELECT *from price_demo

推荐阅读