Обновить значение столбца из элемента массива перед триггером вставки - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь выполнить триггер до вставки, который обновляет один из столбцов, который будет вставлен, со значением, взятым из другого столбца в той же записи, однако выгода заключается в том, что это значение является первым значением указанного столбца после преобразование его в массив. когда я включаю функцию или массив, я получаю синтаксическую ошибку, но примеры, которые я нашел для правильного синтаксиса, не содержат деталей, необходимых для работы моего кода. Вот мой код:

Схема выглядит следующим образом

create table events (
  id int primary key,
  performers varchar,
  performer_id varchar
);

Функция:

create function events_set_performer() returns trigger
language plpgsql
as $$
declare
    performer_ varchar := '0';
BEGIN
    set NEW.performer_id = (string_to_array(NEW.performers,':'))[1];
    return new;
END;
$$;
...