Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/34: Рейтинг темы: голосов - 34, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 21

Триггер. Расчет стоимости при добавлении записи

22.06.2014, 11:00. Показов 6771. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, выручайте, срочно нужна Ваша помощь.
Суть задания:
Написать триггер, который по заданной формуле рассчитывает стоимость приема пациента с учетом коэффициентов при добавлении новой записи о приеме.
Таблица Reception(Прием) имеет столбцы:
ID_Ticket, Date_Rec, Summ_Rec, ID_Doctor, ID_Goal, ID_Diagnos, ID_Card
Запрос на добавление выглядит так:
SQL
1
INSERT INTO Reception VALUES ('1','2014-06-23','1500','2','3','9','1');
Вот мне нужен тригер, который будет заполнять Summ_Rec по заданной формуле. Коэффициенты находятся в других связанных таблицах:
Таблица Goal (связана с таблицей Reception) - Factor_Goal
Таблица Specialty (связана с таблицей Doctor, которая в свою очередь связана с таблицей Reception) - Factor_Specialty
Таблица Category (связана с таблицей Doctor, которая в свою очередь связана с таблицей Reception) - Factor_Category

Формула может быть произвольной... Жаль, что нельзя вставлять скриншоты, все было бы намного нагляднее... Заранее спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.06.2014, 11:00
Ответы с готовыми решениями:

Нужен триггер, который будет обновлять одну таблицу при добавлении записи в другую
Нужен триггер, который срабатывает после того как добавлется запись в таблицу. Итак, имеется: Таблица Товар Таблица Производитель ...

Как создать триггер который обновляет запись в таблицы при добавлении записи в другую таблицу
Всем привет, нужна помощь с триггером, столкнулся с ним в первые до этого использовал процедуры, а диплом горит) История такая: ...

Триггер на обновление поля при добавлении записи в другую таблицу
Допустим на склад поступает товар, пытаюсь написать триггер, который будет к имеющемуся количеству товара прибавлять количество...

4
 Аватар для nixon93nixon
63 / 63 / 21
Регистрация: 08.02.2013
Сообщений: 262
24.06.2014, 09:56
как я понял в summ_rec будет записываться значение рассчитанное примерно таким выражение Стандартная_стоимость_визита * коэффициент специалиста * коэффициент_категории
верно?
0
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 21
26.06.2014, 09:38  [ТС]
Да, совершенно верно, вот такая формула должна быть:
S=300*(Ks+Kk)\Kc,
гдеS – стоимость приема, Ks–Коэффициент специальности, Kk– Коэффициент категории, Kc– Коэффициент цели
0
 Аватар для reiteriX
685 / 241 / 13
Регистрация: 02.04.2009
Сообщений: 692
26.06.2014, 10:22
fireLORD, структуру отношения Doctor в студию!

в отношениях Goal, Specialty, Category как называется атрибут (столбец) по которому связь осуществляется?
0
 Аватар для nixon93nixon
63 / 63 / 21
Регистрация: 08.02.2013
Сообщений: 262
26.06.2014, 10:34
Лучший ответ Сообщение было отмечено fireLORD как решение

Решение

насчет связей таблиц сам поправь, если что не так
но в общем картина примерно такая

Oracle 11 SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
CREATE TRIGGER Price_trigger
   ON  Reception 
   AFTER INSERT
AS 
BEGIN
DECLARE @Summ bigint    
DECLARE @Ks DECIMAL(3,2)
DECLARE @Kk DECIMAL(3,2)        
DECLARE @Kc DECIMAL(3,2)
 
 
    
SELECT @ks = Rate_Spec
FROM Speciality sp inner join Doctor d ON sp.id_spec = d.id_spec
WHERE id_doctor = (SELECT id_doctor FROM inserted)  
 
SELECT @kk = Rate_Category
FROM Category c inner join Doctor d ON c.id_category = d.id_category
WHERE id_doctor = (SELECT id_doctor FROM inserted)  
 
SELECT @kc = rate_goal
FROM Goal 
WHERE ID_Goal = (SELECT ID_Goal FROM inserted)  
 
SET @summ = 300 * (@ks + @kk) / @kc
 
UPDATE reception SET summ_rec = @summ WHERE id_ticket = (SELECT id_ticket FROM inserted)
END
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.06.2014, 10:34
Помогаю со студенческими работами здесь

Триггер на изменение значения поля при добавлении записи в другую таблицу MySQL
Работаю в phpMyAdmin Ребят, такая проблема. Не понимаю в чем дело, т.к. я чайник в MySQL. В общем, мне нужно изменить значение в...

Создать триггер на таблицу sdelka, который, при добавлении новой записи, добавит эту запись в другую
пытаюсь научиться создавать триггеры в бд, и т.к я полный чайник, мало чего получается. задача такая: создать триггер на таблицу...

Изменение записи в таблице при добавлении записи в другую таблицу
Есть две таблицы TProduct(товары) и TIncoming(приход) с полями "наименование" и "количество". Нужно, чтобы при добавлении строки в...

Дублирование записи в определенном поле при добавлении новой записи
Добрый день. Подскажите пожалуйста, есть у меня запрос на создание таблицы где в созданной таблице в первом поле проставляется значение 2....

MS Sql: при добавлении новой записи, информация из первой записи в таблице исчезает
Ошибка заключается в том, что при добавлении новой записи(через программу), информация из первой записи в таблице исчезает. При добавлении...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru