oracle 条件插入后触发器

yks3o0rb  于 2023-03-29  发布在  Oracle
关注(0)|答案(1)|浏览(172)

我有一个包含GUID的表

Create table guiddata
{
   ID int,
   GUID RAW(16)
}

我需要创建触发器一样,当我们在这个表中插入数据,并在插入后,如果GUID列数据空,然后插入系统生成的GUID在它。
例如,在表中

ID.   GUID
1.    WSER5TY89UIOPR5T
2

因此,当我插入的数据只与ID的时间使用触发器系统生成的GUID需要存储。

gz5pxeao

gz5pxeao1#

你的意思是只是普通的触发器

CREATE OR REPLACE TRIGGER guiddata_after_insert
BEFORE INSERT
   ON guiddata
   FOR EACH ROW
BEGIN

    if :new.GUID is null then
        :new.GUID := utl_raw.cast_to_raw(random_uuid())
    end if;
END;

/

像这样?
如果是这样的话,也许让GUID列的utl_raw.cast_to_raw(random_uuid())成为默认值会更好。

相关问题