我需要更改下表的规格:
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
)
Run Code Online (Sandbox Code Playgroud)
我必须让它看起来像:
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
)
Run Code Online (Sandbox Code Playgroud)
如何更改表以用 UID 数据类型替换整数???
Oracle 没有 UUID 数据类型。
要么使用:
VARCHAR2(36)将 UUID 存储为格式化的十六进制字符串(32 个十六进制字符和 4 个破折号);或者RAW(16)将 UUID 存储为 16 字节(128 位)。如何更改表以用 UID 数据类型替换整数?
ALTER TABLE STAGE.STG_AAA_PROFILES ADD subscriber_uuid VARCHAR2(36);
Run Code Online (Sandbox Code Playgroud)
然后将现有subscriber列从整数转换为 UUID 或为表中的行生成 UUID。最后:
ALTER TABLE STAGE.STG_AAA_PROFILES DROP COLUMN subscriber;
ALTER TABLE STAGE.STG_AAA_PROFILES RENAME COLUMN subscriber_uuid TO subscriber;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4786 次 |
| 最近记录: |