Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по структуре БД 
:(
    Опции темы
Eugeneus2010
  Дата 11.9.2010, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.9.2010

Репутация: нет
Всего: нет



Есть две таблицы

create table A (ida integer, maxdate date)

create table B (idb integer, ida integer, dateb date)

В таблице B может быть произвольное число записей с одинаковым ida. Возможно ли на тригерах так организовать обновление поля maxdate, чтобы оно всегда было равно (select max(dateb) from B where B.ida=A.ida) ? 

Firebird 1.5. Способ доступа не важен.
PM MAIL   Вверх
Deniz
Дата 13.9.2010, 05:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Цитата(Eugeneus2010 @  11.9.2010,  18:15 Найти цитируемый пост)
Возможно ли на тригерах так организовать обновление поля maxdate
возможно, но:
1. Будет слишком много доп. запросов и обновлений
2. Нет 100% гарантии (при откате транзакции может остаться некорректная информация)
А для чего все это нужно?
Может лучше view'шку сделать?


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Eugeneus2010
Дата 13.9.2010, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.9.2010

Репутация: нет
Всего: нет



Цитата
А для чего все это нужно?
Может лучше view'шку сделать? 


Может быть. Интересует принципиальная возможность реализации такого обновления (без ошибок).

Цитата
при откате транзакции может остаться некорректная информация


Можно про это подробнее?

Это сообщение отредактировал(а) Eugeneus2010 - 13.9.2010, 18:25
PM MAIL   Вверх
Akina
Дата 13.9.2010, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 3
Всего: 454



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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Deniz
Дата 14.9.2010, 05:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Цитата(Eugeneus2010 @  13.9.2010,  20:24 Найти цитируемый пост)
Можно про это подробнее?
Конечно, читайте ibase.ru в части работы с транзакциями.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0674 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.