PostgreSQL在FOR循环中使用变量

时间:2016-03-23 06:09:13

标签: postgresql for-loop

我有两张桌子:

CREATE TABLE arapply
(
  arapply_id serial NOT NULL,
  arapply_postdate date,
  arapply_source_docnumber text,
  arapply_target_docnumber text,
  arapply_target_paid numeric
);

CREATE TABLE aropenbal
(
  ar_id integer,
  doc_number text,
  doc_type text,
  doc_date date,
  base_amount numeric,
  paid_amount numeric,
  open_balance numeric
);

对于aropenbal中的每个条目,我想要arapply.arapply_target_paid arapply.arapply_source_docnumber = aropenbal.doc_number(如果aropenbal.doctype是C或R)或arapply.arapply_target_docnumber = aropenbal.doc_number(如果{ {1}}不是C或R)AND aropenbal.doctype。结果应存储到arapply_postdate <= aropenbal.doc_date

然后,我希望使用aropenbal.paid_amount更新aropenbal.open_balance

该函数应返回aropenbal.base_amount + aropenbal.paid_amount的总(SUM)。

我遇到以下代码问题。 FOR循环中的SELECT语句不起作用,除非我手动分配一个值'362'代替r.docnumber。否则,结果为零。

似乎是格式化问题。

任何见解?

aropenbal.open_balance

0 个答案:

没有答案