Hi All,
I have a query in which I want to SELECT FOR UPDATE same rows but only
from one table.
Firs I try just with SELECT FOR UPDATE but I receive an error
because of the LEFT JOIN - "ERROR: SELECT FOR UPDATE/SHARE cannot be
applied to the nullable side of an outer join".
So I decide to use SELECT FOR UPDATE OF <table name> but I then receive
the error you can see.
Can anyone help me with this query?
Thanks in advance.
Regards, Kaloyan Iliev
rsr=# SELECT
rsr-# DD.*
rsr-# ( SELECT sum(-amount *
saldo_sign(credit))
rsr(# FROM acc_debts ACD1
rsr(# WHERE
ACD1.debtid = DD.debtid ) AS saldo,
rsr-# C.custid,
rsr-# S.descr_bg
rsr-# FROM debts_desc DD LEFT JOIN config
C ON (DD.conf_id = C.id),
rsr-# acc_debts AD,
rsr-# acc_clients AC,
rsr-# services S
rsr-# WHERE DD.debtid = AD.debtid
rsr-# AND DD.closed AND NOT
DD.paid AND DD.has_invoice AND DD.active AND DD.has_proform AND NOT
DD.storned
rsr-# AND AD.transact_no =
AC.transact_no
rsr-#
AND AC.ino = 45
rsr-# FOR UPDATE OF
debts_desc;
ERROR: relation "debts_desc" in FOR UPDATE/SHARE clause not found in
FROM clause
rsr=# select version(); version
------------------------------------------------------------------------------------------------PostgreSQL 8.1.4 on
i386-portbld-freebsd6.1,compiled by GCC cc (GCC)
3.4.4 [FreeBSD] 20050518
(1 row)