一个利用sql存储过程造数据的模板

上一篇 / 下一篇  2012-03-15 11:10:58 / 个人分类:数据库


################用loop循环######################
create procedure aaa()
begin
  DECLARE a int default 0;
  DECLARE m varchar(200);
  declare n varchar(200);
  DECLARE u int;
lable1: LOOP
  set m = '13333' + a;
  set n = right(CONCAT('0000',a),4);
  set u = a + 1;
  insert into uchome_l_lotteryrecord(uid,mobile,lotteryId,lotteryNumber) VALUES(u, m, 1, n);
  set a = a+1; 
if a >= 10000 then
  LEAVE lable1;  
end if;
end LOOP lable1;
END; 
################用while循环命令改写######################
CREATE PROCEDURE sp_lotteryrecord()
   BEGIN
DECLARE i INT default 0;
DECLARE n VARCHAR(200);
DECLARE p VARCHAR(200);
Declare u int;
/*在record表生成10000条记录,uid从1到10000,对应抽奖号码从0000到9999*/
/*并同步更新number表*/
while u<10000 do
 SET n = RIGHT(CONCAT('0000',i),4);
 Set p=’1342516’+n;
 Set u=i+1;
  INSERT INTO uchome_l_lotteryrecord(uid,mobile,lotteryId,lotteryNumber) VALUES(u,p,1,n);
  Update uchome_l_lotterynumber set flag=0 where lotterynumber=n;
  Update uchome_l_lotterynumber set uid=u where lotterynumber=n;
  Set i=i+1;
End while;
   END;
 

TAG:

 

评分:0

我来说两句

Open Toolbar