|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.12.2010, 18:55 | #1 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Триггер , который после добавления записи в одну таблицу редактирует запись другой таблицы
у меня есть 2 таблицы.
1 таблица (номер дома: integer, число квартир: integer, число жильцов: integer) 2 таблица (номер дома: integer, номер квартиры: integer, ФИО : varchar) Пишу интерфейс на Delphi. Нужен триггер , который после добавления новой записи в 2ой таблице редактирует уже существующее значение в 1ой таблице. ТО есть когда добавляем ещё одного жильца во 2ую таблицу, нужно изменить в 1ой таблице значение "число жильцов" у определённого дома. если у кого-то есть пример или кто-то может за пару минут накатать ентот триггер, не заморачиваясь, - Откровенное Спасибо!
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось Rin; 17.12.2010 в 19:20. |
17.12.2010, 19:14 | #2 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
а при чём тут дельфи? И какая у вас СУБД?
|
17.12.2010, 19:22 | #3 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
в Interbase пишу.
хотел в delphi на форму кинуть TQuery и в нём триггер забабахать. а вот такой триггер прокатит, только что накатал по примеру: set term^; create trigger plus_resident for house active after insert as begin update houses set count_resident=count_resident+1 where new.number_house=houses.number_hous e; end^ set term^;
Если помог, проси поставить минус. Будь оригинален!
|
17.12.2010, 19:23 | #4 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
СУБД - Interbase.
хотел в delphi на форму кинуть TQuery и в нём триггер забабахать. а вот такой триггер прокатит, только что накатал по примеру: set term^; create trigger plus_resident for house active after insert as begin update houses set count_resident=count_resident+1 where new.number_house=houses.number_hous e; end^ set term^;
Если помог, проси поставить минус. Будь оригинален!
|
17.12.2010, 19:34 | #5 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
вроде нормально.
|
17.12.2010, 20:13 | #6 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
круто, он фурычит =)
Если помог, проси поставить минус. Будь оригинален!
|
17.12.2010, 21:26 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А причем триггер и TQuery? Обычно триггера, процедуры и функции SQL баз данных однажды создаются и не требуют каждый раз повторного создания. Триггера отрабатывают при редактировании таблиц, а процедуры и функции (если база поддерживает такие объекты) по мере обращения к ним
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
18.12.2010, 03:50 | #8 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
ну это я в курсе, что триггер реагирует на определённое событие, в отличие от хранимой процедуры, которую вызывают=) у меня просто был открыт delphi с подключённой БД, и соответственно SQL-запрос на создание триггера быстрее всего было выполнить там.=)Я так и сделал, а потом просто TQuery удалил.
Если помог, проси поставить минус. Будь оригинален!
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
после добавления таблицы в конце файла появляются пустые строки | OLEG'arh | Microsoft Office Word | 4 | 17.09.2010 16:11 |
Как из одной таблицы удалить записи, содержащиеся в другой | Kingson | Microsoft Office Access | 4 | 13.04.2010 22:39 |
Обновление набора данных после добавления в таблицу записей "внешней" программой | dimmm | БД в Delphi | 5 | 21.04.2009 00:56 |
Хелп нужно получить перекрестную таблицу из другой таблицы | ]Wowan[ | БД в Delphi | 4 | 18.01.2009 20:44 |
при добавлении новой записи через форму подставлолось значение из другой таблицы | Baxxter | Microsoft Office Access | 1 | 07.01.2009 22:23 |