从Oracle SQLplus中的select语句插入时设置新行值



是否可以设置触发器以将新行的值设置为select语句的结果?我目前的语法如下,但它不起作用:

CREATE TRIGGER "BRAND_NEW_TRIGGER"
BEFORE INSERT ON my_table
FOR EACH ROW
BEGIN
:NEW.column_one := (SELECT details_col FROM other_table WHERE property_id = :NEW.property_id);
END;
/

为了保护公司的安全,我篡改了上面代码的细节,我知道上面的代码没有太大意义,但我需要以这种方式提取和组织数据是有正当理由的。

您可以执行select into

select ot.details_col
into :new.column_one
from other_table ot
where ot.property_id = :new.property_id;

当然,我强烈质疑数据模型是否合理。这强烈地意味着您有一个需要某种规范化的数据模型。

最新更新