Триггер обновить некоторые таблицы без обновления основной таблицы - PullRequest
0 голосов
/ 14 марта 2019

Из-за моего внешнего приложения я не могу использовать представления PostgreSQL.Итак, у меня есть фиктивная таблица, в которую я временно вставляю записи, чтобы вызвать вставки еще в три таблицы.Эта фиктивная запись затем удаляется.

Таблицы: company, phone, company_phone и dummy_company:)

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

Что-то вроде:

CREATE FUNCTION update_company() RETURNS TRIGGER AS $$
  BEGIN
    UPDATE phone SET number = NEW.number
      WHERE id = NEW.phone_id;
    UPDATE company SET name = NEW.name
      WHERE id = NEW.id;
    RETURN NEW;
  END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER update_company BEFORE UPDATE ON dummy_company
  FOR EACH ROW EXECUTE PROCEDURE update_company();

ИтакМне нужен триггер обновления для пустой таблицы, который обновляет другие таблицы.Это возможно?

...