|
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 19
|
||||||
Написать триггер для учета количества книг19.02.2016, 14:16. Показов 6354. Ответов 27
Метки нет (Все метки)
Здравствуйте, прошу помощи с задачкой
Есть таблица с базой книг, с полями: Название и количество на складе, и есть вторая таблица Продаж, задача состоит в том, что когда мы заполняем таблицу продаж, вводим ID книги, то с первой таблицы(склад) в поле - кол-во должно вычесть единицу, .т.е на складе было 3 книги Анна Каренина, мы одну купили, стало 2...и если на складе нету подходящей книги, то данные в таблицу Sale не заносятся
0
|
||||||
| 19.02.2016, 14:16 | |
|
Ответы с готовыми решениями:
27
Триггер для добавления к строке название таблицы, в которой содержится триггер
Написать триггер для автоматического обновления поля при обновлении, удалении, добавлении записей в таблице |
|
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
|
||
| 19.02.2016, 14:26 | ||
|
Остатки - это вычисляемая величина по периодам и списку приходно расходных ордеров. Их не рекомендуется хранить в базе. Рекомендуется запросом подбивать агрегатными функциями остаток товара проходя по списку накладных.
1
|
||
|
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 19
|
|
| 19.02.2016, 14:29 [ТС] | |
|
Hikari, я только начинаю изучать t-sql, нужно выполнить описанную выше задачку, если есть другой способ это сделать, покажите пожалуйста наглядно
за совет спасибо
0
|
|
|
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
|
|||||||||||
| 19.02.2016, 16:12 | |||||||||||
|
Если это ради изучения, то не очень удачный пример... Я не подскажу тебе как бы делала это триггерами, я скажу как бы делала хитрая блондиночка:
Забыть про триггеры.
1
|
|||||||||||
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 19.02.2016, 16:56 | |
|
ужос
![]() никому больше не показывайте такие подходы и к оперативному учету, и написанию на SQL
0
|
|
|
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
|
||
| 22.02.2016, 22:07 | ||
|
0
|
||
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|
| 22.02.2016, 22:42 | |
|
Hikari, набросайте схематично - как при вашем подходе контролировать целостность данных, т.е. чтобы расход не превышал приход.
0
|
|
|
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
|
||||
| 23.02.2016, 09:18 | ||||
|
Как получить список приходных ордеров по коду ордера? Как вообще кладовщики работают в бумажных каталогах товара, знаешь? Как они подбивают свои остатки? Ладно, я уже поняла. Мне в этой теме не рады, более мешать не буду. Делайте как умеете - я свое мнение из личного опыта работы со складом выразила.
0
|
||||
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 23.02.2016, 09:29 | |
|
0
|
|
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
||||
| 23.02.2016, 11:30 | ||||
|
Попробуйте хоть немного подумать над тем, как ваш подход будет работать при большом количестве движений и в многопользовательском окружении.
0
|
||||
|
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
|
||||
| 23.02.2016, 12:46 | ||||
|
Зато около 6 лет мучаюсь с программой, которая остатки хранит в таблице. Вечно получается так, что между периодами происходит недостача, ибо кто-то вручную остатки корректирует, и они потом с движением не коррелируются. В результате бухгалтерия пъет корвалолчик и хватается за сердечко. А потом я сижу и полнедели эти остатки правлю. Бр-р-р...
0
|
||||
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
||||
| 23.02.2016, 13:42 | ||||
|
Допустим, вы наагрегировали по движениям остаток некоего артикула в 10 единиц. Теперь проводят расходную накладную с этим же артикулом на 11 единиц. Контролировать такую ситуацию не нужно? Транзакции нужны, что бы не получить "остаток не запишется в поле таблички, но движение товара зафиксируется в виде накладной".
0
|
||||
|
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
|
||||
| 23.02.2016, 14:10 | ||||
![]() И как можно надеяться на транзакцию, если она изначально оказывается несогласованной с другими движениями данных?
0
|
||||
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|||
| 23.02.2016, 16:00 | |||
|
Добавлено через 2 минуты
0
|
|||
|
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
|
|
| 23.02.2016, 16:09 | |
|
Мне кажется, для данной задачи стоит рассмотреть реализацию в виде индексированного представления.
0
|
|
|
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
|
||
| 23.02.2016, 16:14 | ||
|
Во-вторых пользователю особенно кладовщику это не интересно. Кладовщику бы баланс свести. Да так, чтоб сошлось с бухгалтерией до копеечки. Его не интересуют ни транзакции ни то, как хранятся остатки, ни то, какой методикой они высчитываются. Если у кого-то схема с хранением остатков отдельной цифирью независимо от списка ордеров работает на ура - я очень рада. На сим откланиваюсь, свое мнение я выразила. Принимать его или плеваться от избытка самомнения - это уже меня не интересует.
0
|
||
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
||
| 23.02.2016, 16:24 | ||
|
UPDATE Books SET nCount=nCount-1 WHERE id=@IDКнига INSERT INTO Sale (@IDКнига)
0
|
||
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|||||
| 23.02.2016, 16:27 | |||||
|
1. Как вы обеспечите достоверность полученных значений? 2. Как предотвратить получение одного и того же значения остатка параллельными сеансами, с последующей некорректной проверкой допустимости списаний? И если вы привыкли так работать, это не означает, что все остальные должны работать аналогично. Если ваша БД открыта для прямых модификаций без всякого контроля, - не помогут ни транзакции, ни что-либо еще.
0
|
|||||
| 23.02.2016, 16:27 | |
|
Помогаю со студенческими работами здесь
20
Написать программу учета книг в библиотеке (используя коллекции) Программа для учета книг в библиотеке Программа учета книг Программа учета книг Задача с очередью. Составить программу для ведения очереди и учета количества компьютеров в филиалах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
|