簡體   English   中英

Oracle 中的 UUID 數據類型

[英]UUID data type in Oracle

我需要更改下表的規格:

CREATE TABLE STAGE.STG_AAA_PROFILES
(
  SUBSCRIBER         INTEGER,
  USERNAME           VARCHAR2(50 BYTE),
  GROUP_ID           INTEGER,
  PROFILE_ID         INTEGER,
  STATUS             INTEGER,
  PASSWORD_TYPE      INTEGER,
  EXPIRATION         DATE
)

我必須讓它看起來像:

CREATE TABLE STAGE.STG_AAA_PROFILES
(
  SUBSCRIBER         UID,
  USERNAME           VARCHAR2(50 BYTE),
  GROUP_ID           INTEGER,
  PROFILE_ID         UID,
  STATUS             INTEGER,
  PASSWORD_TYPE      INTEGER,
  EXPIRATION         DATE
)

如何更改表以將 integer 替換為 UID 數據類型???

Oracle 沒有 UID 數據類型。

要么使用:

  • VARCHAR2(36)將 UUID 存儲為格式化的十六進制字符串(32 個十六進制字符和 4 個破折號); 或者
  • RAW(16)將 UUID 存儲為 16 個字節(128 位)。

如何更改表以將 integer 替換為 UID 數據類型?

ALTER TABLE STAGE.STG_AAA_PROFILES ADD subscriber_uuid VARCHAR2(36);

然后將現有subscriber列從 integer 轉換為 UUID 或為表中的行生成 UUID。 最后:

ALTER TABLE STAGE.STG_AAA_PROFILES DROP COLUMN subscriber;
ALTER TABLE STAGE.STG_AAA_PROFILES RENAME COLUMN subscriber_uuid TO subscriber;
Create a new column of the desired type and copy the current

Column data to the new type using the appropriate type
       constructor.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM