Oracle 表新增 ID RAW(16) 字段并填充历史数据

需求说明:

现有一张表 STUDY,已存在大量数据。先想增加字段 ID RAW(16),并给 ID 字段填充历史数据。

一、新增 ID RAW(16) 字段

ALTER TABLE STUDY ADD (id RAW(16));

二、填充已有数据(UUID / RAW(16))

UPDATE STUDY

SET id = SYS_GUID();

三、创建触发器(后续 INSERT 自动生成 ID)

CREATE OR REPLACE TRIGGER TRIGGER_STUDY

BEFORE INSERT OR UPDATE ON STUDY

FOR EACH ROW

WHEN (NEW.id IS NULL)

BEGIN

:NEW.id := SYS_GUID();

END;

相关推荐
坚定信念,勇往无前21 分钟前
mongodb的日志分割
数据库·mongodb
oradh4 小时前
Oracle TX 锁 Mode 4(Share)问题排查总结
数据库·oracle·tx 锁 mode 4·oracle tx 锁
2601_962065254 小时前
[MySQL] SQL优化之性能分析
java·sql·mysql
yi.Ist4 小时前
数据定义语言-DDL操作
数据库·学习·mysql·oracle·大海豚
2601_963282776 小时前
工程项目、政企采购为什么优先选择对讲机批量采购?
数据库
Doraemomo6 小时前
SQLite数据库
数据库·sqlite
云贝教育-郑老师6 小时前
MySQL 的“黑匣子“:Performance Schema 把数据库内部变成一张可查的表
数据库·mysql
这个DBA有点耶8 小时前
同城双活落地的三座山:网络延迟、脑裂预防、反向同步
数据库·架构·dba
青春之我_XP8 小时前
MySQL 常用日期函数 实战指南
数据库·sql·mysql·数据分析·数据库开发·日期函数