delimiter $$ create procedure prck(in a int) begin decare i int default 1; while i <=a do insert into stu values(i,concat("test",i),20); set i = i + 1; end while; end $$ call prol(10000)
时间: 2024-03-06 09:46:18 浏览: 108
mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法
5星 · 资源好评率100%
这段代码中存在一些语法和拼写错误,我进行了修改,修改后的代码如下:
```
DELIMITER $$
CREATE PROCEDURE prck(IN a INT)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i <= a DO
INSERT INTO stu VALUES(i, CONCAT("test", i), 20);
SET i = i + 1;
END WHILE;
END $$
DELIMITER ;
CALL prck(10000);
```
这是一个存储过程,目的是向名为 `stu` 的表中插入 `a` 条数据。存储过程的参数为整数型变量 `a`,表示要插入的数据数量。在存储过程中,使用 `DECLARE` 声明整数型变量 `i` 并初始化为1,在 `WHILE` 循环中,每次将 `i` 增加1,并使用 `INSERT INTO` 语句向表 `stu` 中插入一条数据,其中第一个字段是 `i`,第二个字段是 `test` 和 `i` 进行拼接后的字符串,第三个字段是固定值20。最后,通过 `CALL` 语句调用存储过程,并传入参数 `10000`,表示要插入10000条数据。
阅读全文