Необходимо реализовать ограничение записей в таблицу за текущую дату. Postgres
Есть таблица в бд
CREATE TABLE fio (
id serial,
user_id BIGINT NOT NULL PRIMARY KEY,
first_name TEXT NOT NULL,
second_name TEXT NOT NULL,
age INT NOT NULL,
date_in date DEFAULT CURRENT_DATE);
Заполняется таблица из бота в телеграме.
Запрос на заполнение - (
"INSERT INTO fio(user_id, first_name, second_name, age) VALUES (%s,%s,%s,%s)",
(chat_id, first_name, second_name, age))
То есть, бот собирает данные о пользователях, для регистрации.
Нужно реализовать ограничение на заполнение 100 пользователей в текущую дату, если число превышено, в бот должен вернуться ответ - "ошибка".
Подскажите, как это лучше сделать, подзапросом или с помощью триггера?
Необходимо самое простое решение. Большое спасибо!
UPD: Запрос найти удалось. Помогите вернуть ошибку, если запись не добавилась, надо как-то получить от БД ответ, что запись не прошла.
Запрос -
("INSERT INTO fio (user_id, first_name, second_name, age)
SELECT %s,%s,%s,%s WHERE EXISTS (SELECT COUNT(1) FROM fio
WHERE date_in = CURRENT_DATE HAVING COUNT(1) < 5);",
(chat_id, first_name, second_name, age)