業務需求:實現帳號的自動建立,自動建立活動下的帳號,密碼爲6位隨機密碼chrome
DELIMITER ;;
CREATE PROCEDURE insert_region_member()
BEGIN 網絡
set @memberCount=0;
set @regionId='1001';
set @allMemberCount=100;app
select @memberCount:=count(a.Id) from Q_Member a join Q_region b on a.Q_RegionId=b.Id
where a.deletedOn is null and b.deletedOn is null and a.cOpenId is null and b.Id=@regionId;函數
select @allMemberCount:=count(a.Id) from Q_Member a join Q_region b on a.Q_RegionId=b.Id
where a.deletedOn is null and b.deletedOn is null and b.Id=@regionId;chrome-extension
while (@memberCount<100) do
set @allMemberCount:=@allMemberCount+1;
insert into Q_Member(Id,CNo,CPWd,CreatedOn,UpdatedOn,Q_RegionId)
select CONCAT(CNo,LPAD(@allMemberCount,3,0)),CONCAT(CNo,LPAD(@allMemberCount,3,0)),substring(MD5(RAND()),1,6),now(),now(),@regionId from Q_Region where deletedOn is null and Id=@regionId;
set @memberCount:=@memberCount+1;
end while;url
commit;
END;;
CALL insert_region_member();spa
使用到的函數翻譯
CONCAT 拼接字符串orm
LPAD 前(左側)補位填充 LPAD(3,6,0)=>000003 須要補位的值,最大位數,部位使用的字符 RPAD 後(右側)補位字符串
RAND() 隨機數 帶小數 FLOOR(RAND() * 10000) 取5位整數
MD5() MD5轉換
substring() 截取字符串
now() 獲取當前時間
------while 循環---------------------------------------------------------------------
while 判斷條件 do
執行語句
end while
--------------------------------------------------------------------------
DELIMITER 分隔符,說明這一段是須要一塊兒執行的,相似與多行一塊兒執行
-------PROCEDURE 存儲過程---------------------------------------------------------------------
CREATE PROCEDURE name
BEGIN
END
------------------------------------------------------------------------------
CALL 存儲過程名稱 執行存儲過程