場景:
頁面數卡數量(比如:2000)、卡前綴、備註等等。後臺通過前綴和數量,通過隨機數生成一個起卡號和一個結束卡號。然後批量插入數據庫制卡表。(注意:由於卡號生成規則必須是“公司前綴”+公司流水號(每個公司都是從0001開始)+“公司後綴”,所以不可能用seq)。
由於批量操作時間長,所以併發量成爲一個必須考慮的因素。
做法:通過select generated_seq_no from health_ck_card_generated_info for update在操作的時候進行加鎖,然後取出符合條件的卡號的最大值,然後加上數量,每個值在和前綴,後綴相連生成卡號插入數據庫。