将多个变量初始化为Postgresql存储过程中的记录

吉萨拉

我有一个存储过程,在其中将三个变量声明为记录,并在稍后对其进行初始化,如下所示:

CREATE OR REPLACE FUNCTION calculateUnitPrice() 
RETURNS VOID AS
$$
DECLARE
      amenities       RECORD;
      paramValues RECORD;
      logsumAccessebility RECORD;
      propertyType   integer;
      unitPrice      float;
      freehold       integer;
      tazId          bigint;
      unit            RECORD;
BEGIN
     FOR unit IN (SELECT * from main2012.fm_unit_res)
LOOP
    amenities := getAmenitiesById(unit.sla_address_id);
    tazId := toBigint(amenities.taz_id);
    logsumAccessebility := getLogsumByTazId(tazId);
    propertyType := getPropertyTypeFromUnitType(unit.unit_type);
    paramValues := getParamValuesByPropertyType(propertyType);
    freehold := 0;
    unitPrice := paramValues.intercept + (paramValues.floor_area * ln(unit.floor_area)) + (paramValues.freehold * freehold) + (paramValues.logsum_accessebility * logsumAccessebility.accessibility);
    UPDATE main2012.fm_unit_res SET rent = unitPrice WHERE fm_unit_id = unit.fm_unit_id;
END LOOP;
RETURN;
END;
$$ LANGUAGE plpgsql; 

但是,当我运行该函数时,出现如下错误:

    ERROR: record "paramvalues" is not assigned yet
    SQL state: 55000
    Detail: The tuple structure of a not-yet-assigned record is indeterminate.

Context: PL/pgSQL function calculateunitprice() line 20 at assignment

请给我你的想法。我在这里做任何错误的事情(语法)还是在存储过程中可以初始化的记录数有限制?

沃尊

通过添加调试输出

raise info '%',getPropertyTypeFromUnitType(unit.unit_type); raise info '%',getPropertyTypeFromUnitType(unit.unit_type); 在宣布之前 paramValues

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PostgreSQL,在存储过程中存储多个变量

来自分类Dev

PostgreSQL,在存储过程中存储多个变量

来自分类Dev

如何使用select语句在存储过程中初始化变量

来自分类Dev

如何使用select语句在存储过程中初始化变量

来自分类Dev

VHDL将变量初始化为多个值

来自分类Dev

具有存储过程中多个记录的Dapper

来自分类Dev

在循环内将列表初始化为字典中的变量

来自分类Dev

在循环内将列表初始化为字典中的变量

来自分类Dev

将Datediff设置为存储过程中的变量

来自分类Dev

将变量重新初始化为常量

来自分类Dev

练习将变量初始化为false

来自分类Dev

BigQuery存储过程中的记录类型

来自分类Dev

Python将多个变量初始化为相同的初始值

来自分类Dev

杰克逊不正确的行为申报过程中初始化final变量?

来自分类Dev

Dymola在非线性系统初始化过程中如何选择迭代变量?

来自分类Dev

PostgreSQL存储过程中的相同查询

来自分类Dev

PostgreSQL - 在存储过程中多次插入

来自分类Dev

Oracle存储过程中的表变量

来自分类Dev

无法在存储过程中声明变量

来自分类Dev

在mysql存储过程中声明变量

来自分类Dev

存储过程中的变量声明

来自分类Dev

SQL Server:在存储过程中将多个列选择到多个变量中

来自分类Dev

如何将查询结果存储在MySql存储过程中的变量中

来自分类Dev

在C中的声明过程中初始化指针

来自分类Dev

在C中的声明过程中初始化指针

来自分类Dev

使用准备好的语句将表名保存在存储过程中的变量中

来自分类Dev

如何将Javascript中的变量初始化为INFINITE值?

来自分类Dev

如何一次将Java类中的所有变量初始化为零

来自分类Dev

如何将变量初始化为 R 中的聚合总和

Related 相关文章

热门标签

归档