zoukankan      html  css  js  c++  java
  • phpmyadmin创建mysql的存储过程

    通过phpmyadmin ,创建procedure,

    用于生成测试数据。

    随机的用户名及手机号。

    DELIMITER $$
    CREATE  PROCEDURE `sp_insert_test_users`(IN `para_count` INT)
    BEGIN
        DECLARE p_username varchar(50);
        DECLARE p_countryCallingCode varchar(10) default '86';
        DECLARE p_phone varchar(20);
        DECLARE p_all_phone varchar(20);
        DECLARE p_create_time datetime;    
        DECLARE p_index int default 0;
        DECLARE p_userid int default 0;  
    IF para_count > 0 THEN
        SET p_create_time = NOW();
       
        while p_index < para_count do    
            
            select concat(
                  substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ', rand()*26 , 1),
                  substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
                  substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
                  substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
                  substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
                  substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
                  substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
                  substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1)
                 ) into p_username;
                 
            select concat(
                  '139',
                  substring('1234567890', rand()* 10 , 1),
                  substring('1234567890', rand()* 10 , 1),
                  substring('1234567890', rand()* 10 , 1),
                  substring('1234567890', rand()* 10 , 1),
                  substring('1234567890', rand()* 10 , 1),
                  substring('1234567890', rand()* 10 , 1),
                  substring('1234567890', rand()* 10 , 1),
                  substring('1234567890', rand()* 10 , 1)
                 ) into p_phone;
            
            if not exists ( select 1 from users where username = p_username or phone = p_phone ) 
            and length(p_username) = 8 and length(p_phone) = 11
            then 
            
                set p_all_phone = concat(p_countryCallingCode,';',p_phone);
                
                INSERT INTO `users`
                (`username`, `countryCallingCode`, `phone`, `_phone`, 
                `group`,  `created_at`, `updated_at`) 
                VALUES 
                (p_username,p_countryCallingCode,p_phone,p_all_phone,
                'user', p_create_time, p_create_time);
                
                 select @@IDENTITY into p_userid;
                
                INSERT INTO `users_test_mock`
                (`userid`,`username`, `countryCallingCode`, `phone`) 
                VALUES 
                (p_userid,p_username,p_countryCallingCode,p_phone);
                
                SET p_index = p_index + 1;
                
            end if;
        
        
        end while;
       
            
    END IF;
    
    END$$
    DELIMITER ;

    调用:

    call sp_insert_test_users(10);

  • 相关阅读:
    请求返回结果模板
    Oracle的sql语句中case关键字的用法 & 单双引号的使用
    java如何从方法返回多个值
    junit的简单用法
    java命令启动jar包
    Fastjson-fastjson中$ref对象重复引用问题
    指定cmd窗口或tomcat运行窗口的名称
    Spring boot配置log4j输出日志
    The import XXX cannot be resolved
    斐波那契数列
  • 原文地址:https://www.cnblogs.com/freeliver54/p/10457955.html
Copyright © 2011-2022 走看看