Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2021, 10:27   #1
Кирилл121
 
Регистрация: 04.11.2020
Сообщений: 5
По умолчанию Как сделать перерасчёт данных в таблице ?

Есть 2 таблицы. Таблица книги хранит в себе:

Код книги
Название книги
Количество этих книг

Таблицы выдачи
Код выдачи
Код книги
Количество выданных


Как сделать, что бы в таблице книги количество книг пересчитывалась, в зависимости какое число мы введём в таблице выдачи "Выдано " ?

Также, что бы он выдавал сообщение, что столько то книг не допустимо для выдачи. Ну то есть, что бы он мониторил, что количество книг в таблице Книги было всё время, не меньше 0.


1.png

2.jpg
Кирилл121 вне форума Ответить с цитированием
Старый 08.05.2021, 13:42   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Как сделать, что бы в таблице книги количество книг пересчитывалась,
триггер на изменение(добавление/удаление) в одной таблице + запрос на обновление данных в другой.
НО лучше так не делать.

число книг ВСЕГДА (в любой момент времени) можно(и нужно) посчитать с помощью ЗАПРОСА.
Код:
select общее_число_книг - SUM(число_книг_каждой_выдачи) ....
в том числе и непосредственно перед выдачей.
и в случае неудачи
Цитата:
что бы он выдавал сообщение, что столько то книг не допустимо для выдачи.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 08.05.2021, 14:22   #3
Кирилл121
 
Регистрация: 04.11.2020
Сообщений: 5
По умолчанию

evg_m, А почему
Цитата:
триггер на изменение(добавление/удаление) в одной таблице + запрос на обновление данных в другой.
НО лучше так не делать.
А почему так не делать ?

Мне как раз и нужен триггер при изменении данных. Я через программу свою будут менять данные в таблице, и на уровне sql server должен сработать этот триггер.
Кирилл121 вне форума Ответить с цитированием
Старый 08.05.2021, 14:32   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

хранить надо "неизменяемые" данные.
поступившие книги (общее число книг).
выданные книги (каждую выдачу отдельно).
все изменяемые данные(текущее состояние) получаем как расчет на основе этих постоянных и "не подверженных" сиюминутным колебаниям (сбоям) БД.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать многострочные клетки в таблице (CListCtrl) ? erslgoeirjh Visual C++ 0 12.01.2021 11:00
Как сделать заголовок из двух строк в таблице (CListCtrl) ? erslgoeirjh Visual C++ 0 26.02.2019 16:05
Как сделать Class в таблице Budun HTML и CSS 2 20.10.2015 14:54
Как сделать новую запись в таблице нередактируемой Scorpuha БД в Delphi 4 22.10.2013 22:40
Как сделать чтобы страница отображалась в таблице Diman2008 HTML и CSS 4 20.10.2008 14:52