業務背景:
使用者通過行式填報表往資料庫中錄入資料,做資料庫插入操作時要根據主鍵字段進行操作,主鍵欄位的值可以通過潤幹的流水號生成,例如做自增長等操作,但這種情況可能會出現乙個問題,當多個客戶同時對一張表做插入操作時,有可能在頁面上通過流水號生成主鍵和其他人生成的流水號重複,導致在插入資料時報錯。
解決辦法:
潤幹流水號除了自增長以外,支援通過引用j**ascript函式進行動態返回流水號,這樣就可以通過js函式返回乙個隨機數,該隨機數長度可設定較長,這樣就能避免主鍵重複錯誤的發生。
首先在顯示報表的jsp頁面中定義js函式:
function randomchar(length) {
length = length || 32;
var source = "abcdefghzklmnopqrstuvwxyz1234567890";
//生成的隨機數從該字串中進行動態擷取字元
var random = "";
for(var i = 0;i < length; i++) {
random += source.charat(math.ceil(math.random()*100000000)%source.length);
return random;
此函式傳入乙個引數,該引數為整數,用於設定生成的隨機數的長度。
接下來製作報表時在流水號處引用該函式即可。
該表示式表示該單元格動態返回32位隨機數,如圖:
這樣就能避免多個使用者同時通過一張填報表填寫資料時主鍵重複問題。
mysql for迴圈新增隨機數
知識點 1.delimiter關鍵字 設定結束標誌符號 2.mysql儲存過程模板 delimiter create procedure method begin 執行sql end while end 3.mysql儲存過程for迴圈 while i 1500 do end while 4.呼叫儲...
隨機數 偽隨機數
隨機數 偽隨機數 rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。srand unsigned seed 通過引數seed改變系統提供的種子值,從而可以使得每次呼...
隨機數生成 偽隨機數和真隨機數
c語言隨機數的生成,很隨機,又不隨機,比如像下面的程式 c語言生成隨機數的函式在stdlib.h庫中 include includeint main return 0 上面的 經過執行生成了 41 18467 6334 26500但是無論執行多好遍結果都是一樣的,隨機數並不隨機。這是因為rand 函...