0
我有它具有以下的表:如何在插入之前更改触发函数内复合类型列的值?
- inspireId 类型:inspireid(复合型)
- GID 类型:整数(主键)
的inspireId柱类型如下:
CREATE TYPE inspireId AS (
nameSpace text,
local_id integer
)
I希望在表中创建新行时自动使用gid的值填充local_id。
我试过如下:
CREATE OR REPLACE FUNCTION script.addLocalId() RETURNS TRIGGER AS
$$
BEGIN
NEW."inspireId".local_id := NEW.gid;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
但是,这是行不通的。创建触发功能时引发以下错误:
«new.inspireId.local_id»不是已知变量。
什么是正确的语法?
[访问复合数组元素plpgsql]的可能副本(http://stackoverflow.com/questions/39029020/access-composite-array-elements-plpgsql) –