程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 隨機生成編碼(判斷重復)(oracle函數)

隨機生成編碼(判斷重復)(oracle函數)

編輯:Oracle教程

隨機生成編碼(判斷重復)(oracle函數)


 

create or replace function generate_coupons_code(v_length in number:=16) return varchar2 is
  v_code varchar2(70);
  type t_arr is varray(16) of varchar2(1);
  char_arr t_arr;
  flag number(1,0):= 0;
begin
  char_arr:=t_arr('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
  for i in 1..v_length  
  loop  
      v_code:=v_code||char_arr(floor(dbms_random.value(1,17)));
      --dbms_output.put_line(floor(dbms_random.value(1,17)));
  end loop;
  select count(1) into flag from b_coupons c WHERE c.code = v_code;
  if flag > 0 then
    return generate_coupons_code(v_length);
  end if;
  return(v_code);
end generate_coupons_code;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved