Форум программистов, компьютерный форум, киберфорум
Firebird/InterBase
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
25 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 9
1

Хранимая процедура для вычисляемых полей в таблице

24.04.2016, 12:19. Показов 1202. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется набор таблиц, связи между ними один к одному. Нужно создать хранимую процедуру в interbase, которая будет высчитывать и заносить данные в таблицу к примеру "А" испотльзуя для вычесления соответствующие данные из таблиц "Б" , "В" , "Г". Сколько не читал про это не пойму как реализовать входные и выходные параметры даже. Грубо говоря в таблице "Б" указан оклад каждого сотрудника, в таблице "В" указан повышающий коэфициент, в таблице "Г" указано количество часов, в итоге надо что бы соответствующее поле в Таблице "А" заполнялось по формуле поля из таблиц "Б"/"В"*"Г".
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2016, 12:19
Ответы с готовыми решениями:

Хранимая процедура для объединения полей в БД
Добрый день. Есть 3 таблицы: 1. orders 2. products 3. orderItems: id idOrder(forein key на...

Процедура для создание полей в таблице (кол-во полей > 50)
Собственно вопрос в теме. Для особо "одаренных": Помогите написать процедуру для создания полей в...

Оптимизация вычислений нескольких вычисляемых полей в таблице
Имеется таблица tbl_Group с полями Id, calc_0, calc_1, calc_2, calc_3, ... , calc_5 В этой...

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

5
479 / 392 / 112
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
25.04.2016, 03:54 2
Можно попробовать через вычисляемое поле COMPUTED BY.
А можно и через процедуру.
Входные параметры Сотрудник, Дата (если в табл. "Г" указываются часы, то значит указываются за какой-либо период, а табл. "А" предназначена для начислений). Запросом рассчитываешь значение и заносишь/обновляешь в табл. "А".
В табл. "Б, В, Г" в триггерах после вставки, обновления, удаления запускаешь процедуру.
0
25 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 9
25.04.2016, 15:11  [ТС] 3
Bit_Man, COMPUTED BY работает только с полями таблицы в которой он и используется. Говоря конкретнее про таблицы, в таблицах "Б" "В" "Г" хранится много разных данных, часы коэфициенты оклады надбавки и тд, И с множеством данных из этих таблиц, производя математические действия между ними результаты которых заносятся в соответствующие столбци таблицы "А". например в таблице "Б" 3 параметра есть, в "В" 12 параметров и в "Г" 5. И в итоге в таблице "А" должно заполнятся около 12 столбцов, а потом их сумировать и их же сумму сложить с полем из таблицы "Б" и вывести в ещё одну таблицу "Д", при этом в программе написанной на делфи потом делать отчёт по таблице "Д". И теперь переформирую вопрос, это писать одну сложную процедуру и как тогда, писать множество мелких процедур, или сделать всё одной большой таблицей через COMPUTED BY высчитывать тогда спокойно на уровне интербейса, а в программе выводить эту таблицу поделив на несколько мелких, тоесть пользователь в прогремме видит много небольших таблиц, но в субд это одна большая.
0
479 / 392 / 112
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
26.04.2016, 03:07 4
Цитата Сообщение от ROMZEK Посмотреть сообщение
писать одну сложную процедуру и как тогда, писать множество мелких процедур
Однозначно процедурой или процедурами это уже на твое усмотрение.
0
25 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 9
26.04.2016, 11:01  [ТС] 5
Bit_Man, ну а ты можешь написать процедуру для примера, с нормальными именно конкретными коментариями, потому что вроде и нахожу в нэте, но не понимаю абсолютно. А если програмно создавать то вообще везде примеры через ADO а у меня вывод через компоненты IBDateBase IBquery и тд, тоесть никакого адо
0
479 / 392 / 112
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
27.04.2016, 03:16 6
для начала тут Словарик по Firebird пошарся. Будешь ваять процедуру выкладывай код поможем.
0
27.04.2016, 03:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2016, 03:16
Помогаю со студенческими работами здесь

Хранимая процедура для update
Всем привет, допустим у меня есть таблица, в которой 30 столбцов, не будешь же для каждого столбца...

Хранимая процедура для доначисления
Доброго дня. Таблица: id_nahislenie int plochad int stoimost ...

Хранимая процедура для удаления
Добрый день! У меня есть таблицы, которые заполнены сгенерированными данными. Нужно написать...

Хранимая процедура для добавления
Есть 2 базы. Из базы tmoplat нужно добавлять столбцы TERB_U и TERD_U в базу Service в столбец...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru