我正在尝试使用记录数据类型迭代查询的结果。不过,如果我尝试使用查询中定义的表别名访问一列,则会收到以下错误:
错误:模式“inv_row”不存在上下文:SQL 命令“SELECT inv_row.s.processor <> inv_row.d.processor”PL/pgSQL 函数“teste”第 7 行在 IF
以下是引发此错误的代码:
CREATE OR REPLACE FUNCTION teste() returns void as $$
DECLARE
inv_row record;
BEGIN
FOR inv_row in SELECT * FROM sa_inventory s LEFT JOIN dim_inventory d ON s.macaddr = d.macaddr LOOP
IF inv_row.s.processor <> inv_row.d.processor THEN
<do something>;
END IF;
END LOOP;
END;
$$ language plpgsql;
是否有另一种方法可以访问记录数据类型中特定表的列?