中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle 生成uuid,查詢uuid

發布時間:2020-03-03 05:30:04 來源:網絡 閱讀:516 作者:wx5dcc1bb1ac912 欄目:關系型數據庫

如果還沒有創建表,那么使用下面的方式創建就可以了。
create table testuu(
id varchar2(2000) default sys_guid(),
name varchar2(2000)) ;

如果已經創建了表,那么先保證你原有的主鍵ID沒有任何實際的業務意義,要修改的話使用下面的方法。
alter table testuu modify id default sys_guid() ;
update testuu set id = sys_guid ();
Oracle新建系統表時,要求主鍵為32位uuid,猜測Oracle肯定會提供相關的函數。

翻閱相關文檔,果然發現Oracle提供的函數 sys_guid() 用于獲取32位uuid,簡單使用為

select sys_guid() from dual;

該函數返回32位的uuid為大寫,可以使用 lower(sys_guid()) 轉為小寫.

Oracle中生成跨系統的唯一識別符UUID非常方便,比生成序列還簡單,直接用sys_guid()就行,

例如 select sys_guid() from dual 會產生一個跟MAC地址、生成時間相關的一個32位16進制的隨機數。

數據類型是 raw(16) 有32個字符。

它的生成機制足以保證全球所有系統產生的海量guid重復可能性非常小。這在AIXM概念中非常重要。

根據時間拼接:
select lower(sys_guid())||to_char(sysdate,'yyyyMMddHh34miss') from dual;

如果要讓返回的uuid滿足標準格式,可利用如下函數實現:

CREATE OR REPLACE FUNCTION
get_uuid RETURN VARCHAR IS guid VARCHAR (50);
BEGIN guid := lower(RAWTOHEX(sys_guid()));
RETURN substr(guid,1,8)||'-'||substr(guid,9,4)||'-'||substr(guid,13,4)||'-'||substr(guid,17,4)||'-'||substr(guid,21,12);
END get_uuid ;

SQL> select get_uuid from dual ;

GET_UUID

a8f662b8-6e7a-13fe-e040-970a437c6bd7

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

梧州市| 报价| 宁阳县| 璧山县| 慈溪市| 屯留县| 肃北| 南昌市| 巴塘县| 龙胜| 诸暨市| 炎陵县| 和田县| 唐山市| 丽水市| 琼海市| 化州市| 新津县| 邹平县| 安陆市| 泰顺县| 会昌县| 谷城县| 七台河市| 壶关县| 六枝特区| 安阳市| 神池县| 石河子市| 武胜县| 宁海县| 贺兰县| 中牟县| 深水埗区| 嘉鱼县| 麻栗坡县| 诸城市| 维西| 长岭县| 建水县| 宝坻区|