杭州9期-崔文xin 发表于 2021-7-16 21:09:34

7.16作业

存储过程题目:现在有一个user用户表,需要往user表中插入1000个登录
用户
要求如下:
1、在插入用户前先判断是否存在1000个登录用户,如果存在则统计表中实
际的行数、如若不存在则自动补齐剩余的数据
2、表名为user,存储过程名字随意取,表中字段有id user_name user_pwd
verify 格式如下(1,user1,123456,W4E38J),且id、用户名不能重复,verify
验证码字段为随机生成6位数验证码
CONCAT函数 可以把2个字符串进行连接。
drop procedure if exists DCS66;
create procedure DCS66(N INT)
BEGIN
        declare i int default(select count(*) from USER);
        declare c varchar(20) default'';
--         drop table if EXISTS USER;
--         create table USER(id int PRIMARY key auto_increment,user_name varchar(20),user_pwd int,verify varchar(20));
--         insert into USER values(1,'USER1',123456,'W4E38J');
--   SELECT * FROM USER;
       IF N<=i THEN
                SELECT COUNT(*) FROM USER;
        ELSE
        WHILE N>i DO
                SET i=i+1;
    SET C=(select CONCAT('user',i));
                INSERT INTO USER(id,user_name,user_pwd,verify) values(i,c,123456,substring(MD5(RAND()),1,6));
        end WHILE;
       
        end IF;

END


CALL DCS66(10)
SELECT * FROM USER;


页: [1]
查看完整版本: 7.16作业