Database 使用触发器函数时,新插入的项在插入时为空
当使用外键asset_id在另一个表中进行插入时,我试图更新名为asset的表中的时间戳。。。在psuedo代码中,我的意思是: 在插入表B时 更新资产集上次更新=现在() 其中asset.asset\u id=B.asset\u id 下面是我尝试使用的Postgres脚本:Database 使用触发器函数时,新插入的项在插入时为空,database,postgresql,triggers,Database,Postgresql,Triggers,当使用外键asset_id在另一个表中进行插入时,我试图更新名为asset的表中的时间戳。。。在psuedo代码中,我的意思是: 在插入表B时 更新资产集上次更新=现在() 其中asset.asset\u id=B.asset\u id 下面是我尝试使用的Postgres脚本: CREATE OR REPLACE FUNCTION update_asset () RETURNS trigger LANGUAGE PLPGSQL AS $plpgsql$ BEGIN IF NEW is NUL
CREATE OR REPLACE FUNCTION update_asset () RETURNS trigger
LANGUAGE PLPGSQL
AS $plpgsql$
BEGIN
IF NEW is NULL THEN RAISE EXCEPTION 'entry is null';
end IF;
UPDATE asset
SET last_updated_timestamp = NOW()
WHERE asset_id = NEW.asset_id;
END;
$plpgsql$;
CREATE TRIGGER table_b_update_trigger
BEFORE INSERT OR UPDATE ON table_b
EXECUTE PROCEDURE update_asset();
我面临的问题是NEW总是空的。有人知道我哪里出错了吗?对每行使用:
对于每一行,执行过程更新_asset()代码>
NEW对于语句级触发器为NULL