Столбец " " не существует при срабатывании триггера Postgresql

Создал триггер, чтобы записывал данные в таблицу при добавлении операции в таблицу maininf

CREATE FUNCTION trigger_s_before_lns () RETURNS trigger AS $First$
BEGIN
INSERT INTO summary_subtotal(code, today, saldo_in_som, debit_som, saldo_out_som) VALUES (
-- Берем код дебита из новосозданной операции
NEW.debit,  
-- Берем дату из новосозданной строки
NEW.date_of,    
-- Берем saldo_out из записи в summary_total где code = коду дебита новосозданной запоперациииси и 
дата меньше чем дата операции. 
(SELECT saldo_out_som FROM summary_subtotal WHERE code = NEW.debit AND today < NEW.date_of),    
-- Так как запись новая, просто выставляем ей значение дебит равное сумме текущей операции 
NEW.som,    
-- Здесь записываем если Паша являлся Кредитором    
0.00
-- Если запись существует, то обновляем debit, также credit и saldo_out
) ON CONFLICT (code, today) DO UPDATE SET 
debit_som = debit_som + NEW.som,
saldo_out_som = saldo_out_som + NEW.som;
END;
$First$
LANGUAGE  plpgsql;

CREATE TRIGGER main_in
BEFORE INSERT ON maininf FOR EACH ROW
EXECUTE PROCEDURE trigger_s_before_lns();

SQL для создания таблицы maininf:

CREATE TABLE public.maininf
(
contract_number character varying(50) COLLATE pg_catalog."default",
contract character varying(50) COLLATE pg_catalog."default",
debit integer,
kredit integer,
date_of date,
coments character varying(300) COLLATE pg_catalog."default",
som integer,
usd integer
)
TABLESPACE pg_default;
ALTER TABLE public.maininf
OWNER to postgres;
-- Trigger: main_in
-- DROP TRIGGER main_in ON public.maininf;

CREATE TRIGGER main_in
BEFORE INSERT
ON public.maininf
FOR EACH ROW
EXECUTE PROCEDURE public.trigger_s_before_lns();

SQL для создания таблицы summary_subtotal:

CREATE TABLE public.summary_subtotal
(
code integer,
saldo_in_som integer NOT NULL DEFAULT 0,
debit_som integer NOT NULL DEFAULT 0,
credit_som integer NOT NULL DEFAULT 0,
saldo_out_som integer NOT NULL DEFAULT 0,
saldo_in_usd integer NOT NULL DEFAULT 0,
debit_usd integer NOT NULL DEFAULT 0,
credit_usd integer NOT NULL DEFAULT 0,
saldo_out_usd integer NOT NULL DEFAULT 0,
today date
)
TABLESPACE pg_default;
ALTER TABLE public.summary_subtotal
OWNER to postgres;

Выдает вот такую вот ошибку: столбец "debit" не существует.


Ответы (0 шт):