Я думаю, вы просто хотите уникальные ограничения / индексы. Вы можете создать их как:
create unique index unq_categories_title on categories(title);
create unique index unq_categories_price on categories(price);
База данных обеспечит проверку целостности данных, не позволяя новым строкам или обновленным строкам повторять значения в этих столбцах.
Это, как правило, гораздо лучший подход, чем использование логики приложения. Например, два пользователя могут вставить одну и ту же строку примерно в одно и то же время - когда проверка находится в приложении. С ограничением базы данных база данных гарантирует уникальность.
Существует довольно подробное сообщение в блоге здесь Нгуен Си Тхань Сон, в котором подробно описано, как это сделать. На высоком уровне все сводится к настройке задания Jenkins для удаленного запуска и создания новой команды Slack, запускающей задание Jenkins.