Oracleは、クエリのUUID、UUID生成しました

あなたがテーブルを作成しない場合は、それを作成するために、以下の方法を使用します。
表は、(作成testuu
ID VARCHAR2(2000)デフォルトSYS_GUID()、
名前VARCHAR2(2000));

あなたがテーブルを作成した場合、最初にあなたの元のプライマリキーIDは、任意の実用的なビジネスセンスを持っていないことを確認し、修正したい場合、以下の方法を使用します。
;変更表testuuのIDデフォルトALTER()はSYS_GUID
更新testuu SET ID = SYS_GUID()
の主キーが32ビットUUID、Oracleは確かに推測関連する機能を提供する必要新しいシステムのOracleテーブルしばらく。

関連文書を読んで、それを使用する32のUUID、シンプルを取得する()関数は、Oracleが提供SYS_GUIDことが判明しました

SYS_GUID()デュアルからを選択します。

関数は、32ビットUUID大文字を返し、小文字に(SYS_GUID())下に使用することができます。

システム全体で生成されたOracleは、さらにシーケンスがライン上で直接使用SYS_GUID()よりも単純で生成し、非常に便利なユニークな識別子UUIDです

例えばSYS_GUID select()のデュアルMACアドレスから32ビットの乱数進数に関連付けられた世代時間で生成されます。

データタイプは、生(16)が32個の文字を有します。

これは、大規模な世界的なメカニズムが重複したGUID可能性を生成し、すべてのシステムが非常に小さいことを保証するのに十分であるが生成されます。これはAIXMの概念に非常に重要です。

スプライシング時間:
デュアルからSELECT低級(SYS_GUID())|| TO_CHAR(SYSDATE、 'YYYYMMDDHH24MISS')。

あなたは、標準のフォーマットが返されるUUID会いしたい場合は、以下の機能が達成するために使用することができます。

CREATE OR REPLACE FUNCTIONを
RETURN VARCHARはVARCHAR(50)GUIDですget_uuid。
= LOWER(RAWTOHEX(SYS_GUID()));:GUID BEGIN
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>は、デュアルからget_uuid選択します。

GET_UUID

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

おすすめ

転載: blog.51cto.com/14613575/2454094