Уважаемые коллеги из StackOverFlow,
У меня 3 таблицы. bdc (bdc_id, bdc_name, bdc_gc) , stt (stt_id, stt_gc) , bts (bts_id, bts_pmv) .
Я хочу, еслиstt_gc = 'Checked'
затем установите bdc_gc = 'Sent'
и bts_pmv = 'To do'
Я использую Postgresql 11 и начиная с триггеров / хранимых процедур, которые я пытался проверить с помощью значения if
условие stt_gc
и сопоставленияс правом bdc_gc
bts_pmv
в соответствии с их первичным ключом.
create or replace function before_stt_gc() returns trigger
language plpgsql
as
$$
begin
if new.stt_gc='Checked' then
select bdc_gc from bdc
where new.stt_id = bdc_id;
doe_gc_bts= 'Sent';
select bts_pmv from bts
where new.stt_id = bts_id;
bts_pmv = 'To do'
end if;
end;
$$;
create trigger before_stt_gc_trigger before insert or update on stt
for each row
execute procedure before_stt_gc();
Очевидно, что если я здесь, то это потому, что мой код совершенно неправильный ... Я хочу извлечь из этого уроки, поэтому, если возможно, объясните мне, что я делаю здесь неправильно, или если мой подходне хватает понимания