Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Как купить рекламу на форуме


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

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

Купить рекламу на форуме 20000 рублей в месяц

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

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

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

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


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

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


1.png

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

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

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

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать многострочные клетки в таблице (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 21:40
Как сделать чтобы страница отображалась в таблице Diman2008 HTML и CSS 4 20.10.2008 13:52


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS