У меня есть запрос, который работает как ожидалось, и теперь я хотел бы обратиться к функции, которая может обновлять значения во второй таблице, когда происходит изменение в строке исходной таблицы.
Запрос сравнивает значение каждой строки со ссылочным значением в той же таблице
Этот код работал, когда это был запрос, когда я превратился в функцию, выдает ошибку, и я могуне знаю почему.
CREATE OR REPLACE FUNCTION public.____MBPX_CurrentOverEv(in_reading readings)
RETURNS numeric
LANGUAGE 'sql'
AS $BODY$
SELECT
(r1.node1_value/r1.ev_value)-(r2.node1_value/r2.ev_value) as n1
,(r1.node2_value/r1.ev_value)-(r2.node2_value/r2.ev_value) as n2
,(r1.node3_value/r1.ev_value)-(r2.node3_value/r2.ev_value) as n3
,(r1.node4_value/r1.ev_value)-(r2.node4_value/r2.ev_value) as n4
,(r1.node5_value/r1.ev_value)-(r2.node5_value/r2.ev_value) as n5
,(r1.node6_value/r1.ev_value)-(r2.node6_value/r2.ev_value) as n6
FROM in_reading r1
full join in_reading r2 on r1.instrument_id =r2.instrument_id
where r2.reading_type = 'reference'
;
$BODY$;
Я получаю эту ошибку:
ERROR: relation "in_reading" does not exist
LINE 18: FROM in_reading r1
^
SQL state: 42P01
Character: 540