找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 196|回复: 0

数据库存储过程

[复制链接]

373

主题

55

回帖

1944

积分

管理员

积分
1944
发表于 2023-9-5 22:20:39 | 显示全部楼层 |阅读模式
有些情况需要在表里面创建N多数据,因为生产环境和测试环境的压测数据不匹配,猜测是生产的数据量跟测试环境的数据量不一致导致的,需要排查是否是数据量的问题,因此要在测试环境涉及的表创建N多数据,只需要保证数据量级而不影响应用数据库查询,我这里的话打算使用数据库存储过程造数据。但是一下子也不会写存储过程,网上匆匆忙忙找了个Demo,这里记录一下,争取以后自己写存储过程!



  1. CREATE PROCEDURE myGenerator(in code varchar(64), in inr int)
  2. -- 定义变量
  3. BEGIN
  4.         DECLARE i INT DEFAULT 0;
  5.         DECLARE p_telphone VARCHAR(20);
  6.         DECLARE p_username VARCHAR(20);
  7.         DECLARE p_authcode VARCHAR(20);
  8.         DECLARE p_card VARCHAR(20);
  9.         DECLARE p_password VARCHAR(20);
  10.        
  11.         WHILE i < inr DO
  12.                 -- 对参数赋值
  13.                 SET p_telphone = CONCAT('15410',i);
  14.                 SET p_username = CONCAT('张',i);
  15.                 SET p_authcode = CONCAT('',i);
  16.                 SET p_card = CONCAT('SN000',i);
  17.                 SET p_password = CONCAT('hnjb',i);

  18.                 -- 创建数据
  19.                 INSERT INTO user ( telphone, username, authcode, card, password ) VALUES ( p_telphone, p_username, p_authcode, p_card, p_password );
  20.                 SET i=i+1;
  21.         END WHILE;
  22. END



  23. -- 调用存储过程
  24. call myGenerator("SN002-", 10000);
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc.

GMT+8, 2024-9-20 07:56 , Processed in 0.032929 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表