есть сущности:
- пост
- комментарий
и на каждой сущности есть счетчик голосов, люди могут поставить плюсик посту или комменту.
Это две отдельных таблицы: post и comment.
У них обоих есть столбец votes, который должен обновляться по триггеру на двух других таблицах: post_votes, comment_votes.
Возник вопрос, можно ли как-то описать функцию, в которую можно передавать аргументы названия таблицы, в которой обновить столбец votes, и связь для обновления: UPDATE {аргумент_название_таблицы} SET votes = votes + NEW.value WHERE id = NEW.{аргумент_название_столбца}
Судя по доке есть аргументы у функцию, при регистрации триггера можно в функцию передать аргументы, но можно ли их подставлять в запрос?
В plpgsql есть execute, куда можно передать строчку и с помощью using подставлять значения в параметры. https://www.postgresql.org/docs/10/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN
Обсуждают сегодня