У меня есть 2 связанные таблицы: «Университеты» (id, num_courses) и «Курсы» (id, university_id). Мне нужно, чтобы University.num_courses представлял COUNT курсов.Обновление значений таблицы HSQL на основе соответствующей таблицы
Я могу запросить данные мне нужно:
SELECT
Universities.id,
COUNT(Courses.university_id) as NumCourses
FROM Courses
JOIN Universities ON Universities.id = Courses.university_id
GROUP BY Universities.id
Как обновить университеты с ним? Это можно сделать автоматически?
Это вообще плохой дизайн базы данных для хранения вычисленного значения в таблице - расчетные значения должны просматриваться и обрабатываться с помощью запросов или представлений. Почему вы хотите это сделать? Возможно, мы можем предложить лучший способ получить конечное использование, которое вы ищете. – Lyrl
Что касается «автоматически», вы можете настроить «триггер» в своей базе данных, если ваш сервер поддерживает его. Базовый сервер HSQLDB версии 1.8 по умолчанию, заложенный в Base, не поддерживает * триггеры поддержки *, а вам нужно обновить до бэкэнда «split» (т. Е. Не с zipped внутри базы) версии HSQLDB версии 2 или другой другой базы данных по вашему выбору. – Lyrl
@Lyrl Я полностью согласен с вами, но ситуация сложная. В принципе, я помогаю другу, у которого есть проект базы данных, и его учитель одобрил проект, который они создали вместе. Он не так хорош в отношении баз данных (ни я), ни страхов, чтобы отойти от дизайна, о котором они договорились, но в то же время должен реализовать эти неэффективные решения. Возможно, это часть образования, предназначенная для подготовки к корпоративной работе = D –