|
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 10
|
|
Создать триггер на 2 таблицы28.10.2011, 22:21. Показов 19825. Ответов 14
Метки нет (Все метки)
Здравствуйте!
Нужна помощь в составлении триггера или же процедуры (желательно триггера/ов) на 2 таблицы в базе данных. Есть таблица "Detzakaz" и таблица "Products" (Products - это, по-сути, склад). В "Detzakaz" оформляется количество (dz_kol) определенного товара из таблицы "Products". В "Products" есть количество данного товара, н-р, штук 30 (Pr_Kol=30). Так вот, нужен триггер/ы, который будет добавлять количество определенного товара из "Detzakaz" в "Products". В "Detzakaz" много товаров определенного вида, который есть в "Products". Может через цикл делать, чтобы для каждого товара прибавлялось количество в "Products"? Вот такая задача... Заранее благодарю за помощь.
0
|
|
| 28.10.2011, 22:21 | |
|
Ответы с готовыми решениями:
14
Триггер для добавления к строке название таблицы, в которой содержится триггер Создать триггер, который в созданной таблице STAT_PRODAVES модифицирует значения в столбцах таблицы |
|
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
|
|||||||||||
| 28.10.2011, 23:54 | |||||||||||
PID - в Detzakaz FK с ссылкой нв PK в Products Все изменения в любых количествах в таблице Detzakaz будут влиять на таблицу Products Добавлено через 36 минут Немножко не так, не учел update и delete по нескольким ключам! Вот так вот правильно :
2
|
|||||||||||
|
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 10
|
|
| 29.10.2011, 00:40 [ТС] | |
|
Celly
Благодарю! Буду разбираться.
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 10
|
||||||||||||
| 30.10.2011, 23:53 [ТС] | ||||||||||||
|
Нужна еще помощь.
Есть у меня таблица Detzakaz и Zakaz. В таблице Detzakaz есть количество (dz_kol), цена за единицу (dz_cost_per_unit), и сумма за количество данного товара (dz_total_sum). Сумма подсчитывается произведением dz_total_sum=dz_kol*dz_cost_per_unit. А в Zakaz может быть несколько видов товара, и в этой таблице есть dz_itog_sum (Итоговая сумма заказа, высчитывается как @z_itog_sum = (select sum(dz_total_sum)). Вот так вот. Через процедуру у меня это получилось сделать. Но exec каждый раз делать - ругается MS SQL. Надо запись до процедуры вводить. После уже не хочет обновлять. Помогите через триггер это сделать. Код процедур:
Вроде, разобрался.
0
|
||||||||||||
|
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
|
|||||||||||
| 31.10.2011, 00:19 | |||||||||||
Так же как вариант можете сделать вычисляемый столбец... но только прийдётся удалить колонку detzakaz.dz_total_sum и добавить заново:
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 10
|
|
| 31.10.2011, 14:53 [ТС] | |
|
Celly
Огромное Вам Благодарю! Буду разбираться. Добавлено через 14 часов 31 минуту Уважаемый Celly. Не могли бы Вы помочь еще в одном деле? Есть таблица Products, в ней есть поле (Pr_kol - это кол-во определенного товара). И есть таблица Detzayavka, в ней есть поле (dza_kol - кол-во отпускаемого товара). Нужен триггер, если в Products не хватает товара, выписываемого в Detzayavka - чтобы выдавало запись "Запись невозможна. На складе нет такого количества". Заранее благодарю. P.S. С теми триггерами разобрался. Работает как надо. Благодарю!
0
|
|
|
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
|
||||||
| 31.10.2011, 16:02 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 10
|
|
| 31.10.2011, 19:58 [ТС] | |
|
Celly, последний код не работает. Т.е., я не могу занести запись в Detzayavka - никакую. Вношу - пишет: "Строки обновлены". А в самой таблице нет данных. Я снова вношу те же записи - "Успешно обновлено", а данных нет..
0
|
|
|
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
|
||||||
| 31.10.2011, 20:03 | ||||||
|
Проверте количество Pr_kol в таблице Products и сравните с суммой dza_kol из таблицы Detzayavka!
значение pr_kol не должно быть меньше суммы dza_kol!!! Да... Забыл о самом главном ![]()
1
|
||||||
|
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 10
|
|
| 08.11.2011, 23:46 [ТС] | |
|
Здравствуйте!
Разъясните пожалуйста. В своей БД я создал пользователей, роли и присвоил им права. Роль "администраторы" с 1-м пользователем. И роль "Менеджеры" - с 4-мя пользователями. У каждого человека в роли свой логин и пароль. Как проверить работоспособность прав, которые я задал? БД связываю с графическим приложением, в Visual Studio 2010. Как мне организовать вход по логину и паролю, определенного пользователя (как выше описал)? Заранее благодарю.
0
|
|
|
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
|
|
| 09.11.2011, 18:41 | |
|
Для проверки пройдите аутентификацию через management studio и попробуйте поманипулировать с таблицами на которые вы не давали пермишены.
Наризуйте форму где пользователь будет вводить пароль и логин своей учётной записи SQL и подставляйте введённые данные в строку подключения. И там уже в блоке try..catch проверяйте правильность введённых данных когда будет пытатся подключится к БД!
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 10
|
|
| 10.11.2011, 09:06 [ТС] | |
|
Через MS SQL management studio, я аутентификацию пройти не смог. Ошибку выдает.
Что я делаю не так?
0
|
|
|
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
|
|
| 10.11.2011, 17:50 | |
|
А у вас случайно не экспресс версия стоит? Если да, то неполучится у вас юзеров натыкать по идее... нужно ставить девелопер хотябы... Вам необходимо при установке будет указать подключение к серверу с SQL Server Authentification.
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 10
|
|
| 10.11.2011, 18:18 [ТС] | |
|
Enterprice версия стоит.
Впринципе, как в приложении юзернеймы и пароли реализовать я понял. Благодарю за помощь. P.S. Еще обращусь.
0
|
|
|
0 / 0 / 0
Регистрация: 01.07.2015
Сообщений: 10
|
|
| 20.03.2018, 09:06 | |
|
Здравствуйте! Спасибо за способ решения! Очень помогло! Вопрос по обновлению записи: у меня не обновляется запись, потому что код в таблице еще переносится в другую! А при обновлении он жалуется, что данные в связанной таблице не обновляются. По суте, код я не меняю, а жалуется. Я думаю, что нужно его обновить (или пересоздать заново запись с теми же параметрами), но как это сделать? И плюс к тому же, это ключевое поле (второй ключ). На картинке две таблицы, которые связаны по ключу "kid" и "nkid" и на это связь он жалуется. Подскажите пожалуйста!
Заранее благодарю за помощь!!!)))
0
|
|
| 20.03.2018, 09:06 | |
|
Помогаю со студенческими работами здесь
15
Как создать триггер который обновляет запись в таблицы при добавлении записи в другую таблицу Триггер для таблицы Триггер на удаление поля таблицы Триггер на апдейт определенных столбцов таблицы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|