|
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 10
|
|
Создать триггер на 2 таблицы28.10.2011, 22:21. Показов 19814. Ответов 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
Как создать триггер который обновляет запись в таблицы при добавлении записи в другую таблицу Триггер для таблицы Триггер на удаление поля таблицы Триггер на апдейт определенных столбцов таблицы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|