我是 Postgresql 的新手,所以这个问题对你们来说可能很愚蠢!我想在触发器函数中使用引用的表,但有些函数似乎无法访问引用的别名 ( new_table
):
CREATE FUNCTION Function_Name()
RETURNS TRIGGER AS
$$
BEGIN
SELECT tbl.some_field INTO new_table.other_field
from some_table as tbl;
return null;
END;
$$ LANGUAGE PLPGSQL;
我有这个错误:
"new_table.other_field" is not a known variable
这是触发代码:
CREATE TRIGGER Trigger_Name
AFTER INSERT
ON Table_Name
REFERENCING NEW TABLE AS new_table
FOR EACH ROW
EXECUTE FUNCTION Function_Name();
函数代码应该先执行然后触发器的,那么函数如何访问触发器定义中稍后引用的别名?
以及如何访问函数中引用的表别名?
注意:在我的示例中,我尝试使用别名,因此当我使用NEW代替 new_table时,函数已成功创建!