![]() |
|
Модераторы: Akella |
![]()
|
|
| VitaL |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 24.6.2006 Репутация: нет Всего: нет |
Всем доброе время суток!
Сталкнулся с конкретной проблемой, реализовать хранимую процедуру. Сразу скажу что в не сильно шарю, по этому прошу подсказку знатаков. Проблема состаит в следующим. Имеется таблица ПЛАН (недельное расписание занятий, для нескольких груп), которая состаит из полей (код_занятия, код_аудитории, код_уровень, код_группы, время_начало, день, время_конец)
Так же имеется таблица УЧИТЕЛЕЙ. где (имя, отчество, фамилия, вторая_фамилия, код_страховки, телефон, образование, адрес, паспорт)
Необходимо заполнить таблицу РАСПИСАНИЕ_УЧИТЕЛЯ, состоит из (код_занятия, код_аудитории, код_уровень, код_группы, время_начало, паспорт, дата, день, время_конец)
Повторяюсь, имея 2 первые таблицы я пытаюсь заполнить третью. Создать расписания учителей на месяц. Любой учитель может преподавать любой предмет. У меня такая идея, сделать цикл while. Пока не закончится таблица ПЛАН, брать необходимые данные для таблицы РАСПИСАНИЕ_УЧИТЕЛЯ. В тоже врмя должен быть другой цикр while для таблицы УЧИТЕЛЯ, откуда бы брался код учителя и прописывался бы в ту же линию что и те данные которые были взяты из таблицы ПЛАН. Следующая линия из таблицы ПЛАН должна принадлежать другому учителю. на линию ниже чем предедущий учитель. вписать инфу в следующию линию таблицы РАСПИСАНИЕ_УЧИТЕЛЯ. А теперь к делу! PS использую Firebird Что я меня получается или не получается
Помогите с правельным кодом. ещё один не понятный момент. Допустим учителей меньше чем занятий, while должен после чтения последней строчки учителя возвратится на первую, чтобы продолжить назначеня новых лекций в таблицу РАСПИСАНИЯ_УЧИТЕЛЕЙ УХ как сложно и не понятно прошу помощи Это сообщение отредактировал(а) VitaL - 22.5.2009, 03:15 |
||||||||
|
|||||||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 2 Всего: 161 |
т.е. у вас любой учитель может вести любое занятие?
У учителей нет специализации по предметам? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| VitaL |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 24.6.2006 Репутация: нет Всего: нет |
да, у учителей нет специальностей, допустим это детский сад а учителя это няньки. |
|||
|
||||
| VitaL |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 24.6.2006 Репутация: нет Всего: нет |
Уф. додумался то такого, но всё равно не работает
инсерт в таблицу не происходит, помогите |
|||
|
||||
| VitaL |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 24.6.2006 Репутация: нет Всего: нет |
ошибка в следующим фрагменте
а именно в :fecha+1, где :fecha переменная DATE которую я хочу увеличить на 1. Например у меня дата 27/05/2009 => 28/05/2009, в этом firebird не понять как это реализовать. Помогите |
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
А если просто
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| VitaL |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 24.6.2006 Репутация: нет Всего: нет |
всё ранво не работает
должна быть обыкновенная фунция увеличить дату на один день, которую я немогу найти |
|||
|
||||
| Deniz |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
Попробуй простую создать процедуру типа
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
||||
|
|||||
![]()
|
| Правила форума "Interbase" | |
|
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |