mysql中循環插入數據【存儲過程的應用】


背景描述

測試需求:如上圖,篩選按預約數排序靠前的機構,排名第51及之后的機構不顯示。

 驗證功能前,測試數據中至少有50個不同預約數,

實現方式:

1.或手工往數據庫表中插入  ,50個機構下分別添加不同的預約數,要邊添加、邊記錄預約數。

2.按某種規律生成數據,往數據庫表中插入。

3.用sql語句循環寫數據,(提前是找到規律)

---------------------------------------------------------------------------------------------------------------------

機構預約記錄表 
id+1   用戶id可以 不變      手機號可以不變           機構id (再給機構添加完預約數后,機構id要變化,即再給其他機構添加預約數)
1        623182                   15228*****64                     1            0        0        2018-06-14 18:33:44    2018-06-14 18:33:44


 

 

#DELIMITER # 
CREATE PROCEDURE test_fi()
BEGIN 
	DECLARE  id int default  2384;            #主鍵 #
	declare  institition_id int  default 978; #機構id#
	declare  num int  default 100;    #為N個機構創建預約記錄,每個機構的預約數為N#
	declare  temp int default 0;      #temp被賦值為N,為機構創建N條預約數#

	#為N個機構創建預約記錄,每個機構的預約數為N#
	while num>0 DO			
		SET temp=num;
		while temp>0 DO
			insert into reservation_apply values(id,'722619','13513111311',institition_id,'','',0,'',0,'','2018-6-30 14:47:51','2018-6-30 14:47:58');
			set id=id+1;
			SET temp=temp-1;			
		end WHILE;
		set num=num-5;
		SET institition_id = institition_id-5;
		END WHILE;	

END 

CALL test_fi();

# insert into reservation_apply values(2224,'722619','13511111111',100,'','',0,'',0,'','2018-6-30 14:47:51','2018-6-30 14:47:55'); 運行結果是ok的#

 關於mysql的存儲過程,這還是冰山一角,還要繼續學習。

 

測試時按第1種方式造的數據,后期按第3種方式造數據,這個對比太明顯了,省時省力多了。👍👍

 

----------------------------------------------------

http://www.w3school.com.cn/sql/index.asp   sql學習網站


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM