mysql_存储过程

举例子

create
    definer = root@`%` procedure insert_batch_test(IN START int(10), IN max_num int(10))
BEGIN
    DECLARE
        i INT DEFAULT 0;

    SET autocommit = 0;
    REPEAT

        SET i = i + 1;
        INSERT INTO test (std, score)
        VALUES (CEILING(RAND() * 10 + 100), CEILING(RAND() * 50 +50));
    UNTIL i = max_num
        END REPEAT;
    COMMIT;

END;

这是一个 MySQL 存储过程,主要功能是往名为 test 的表中插入一批数据,插入的数据包括两个字段std 和score。以下是对存储过程代码的解释:

  1. 存储过程的名称是 insert_batch_test
  2. 存储过程的定义者(创建者)是root,并且在任何主机上都能够被调用(definer =root@'%')。
  3. 存储过程接受两个输入参数:STARTmax_num,它们的数据类型都是整数(int(10))。
  4. 存储过程使用 DECLARE 关键字声明了一个局部变量 i,初始化为 0。
  5. SET autocommit = 0; 语句将事务的自动提交模式关闭这意味着插入数据后需要手动执行 COMMIT; 才能提交事务
  6. 使用 REPEAT ... UNTIL 循环,循环体中包含了一条插入语句,向test 表中插入数据。
    • CEILING(RAND()*10+100) 生成一个随机数,并将其上取整,确保在一定范围内。
    • 插入的数据的std 和score 字段都是随机生成的整数。
    • 循环的次数受到输入参数 max_num 的控制。
  7. UNTIL i = max_num 表示循环的条件,当 i 达到 max_num 时跳出循环
  8. COMMIT; 语句用于手动提交事务,确保之前的插入操作生效。

这个存储过程的作用是往表中插入一批随机生成的数据,批量插入的数量由输入参数 max_num 控制。如果你调用这个存储过程,需要提供适当的参数值。

相关推荐

  1. mysql_存储过程

    2023-12-31 00:40:02       40 阅读
  2. MySQL存储过程

    2023-12-31 00:40:02       23 阅读
  3. MySQL-存储过程(PROCEDURE)

    2023-12-31 00:40:02       27 阅读
  4. mysql 存储过程示例

    2023-12-31 00:40:02       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-31 00:40:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-31 00:40:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-31 00:40:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-31 00:40:02       20 阅读

热门阅读

  1. 测试的职业发展路径

    2023-12-31 00:40:02       33 阅读
  2. C++/Qt版餐厅点餐系统模块代码详解——点餐模块

    2023-12-31 00:40:02       36 阅读
  3. 微机原理12练习题答案

    2023-12-31 00:40:02       31 阅读
  4. js预加载和滚动到底部加载数据实现

    2023-12-31 00:40:02       39 阅读
  5. 装饰器模式(Decorator)

    2023-12-31 00:40:02       35 阅读
  6. 人大金仓:元数据查询语句记录

    2023-12-31 00:40:02       25 阅读
  7. SpringBoot全局异常捕获

    2023-12-31 00:40:02       34 阅读
  8. 数据被锁?被.mkp 勒索病毒攻击后的拯救行动

    2023-12-31 00:40:02       32 阅读
  9. php5.6安装openssl扩展

    2023-12-31 00:40:02       42 阅读