Форум: "Базы";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
ВнизТакой глуповатеньки вопросик по IBX7.x TIBDataSet Найти похожие ветки
← →
Rule © (2004-11-02 11:13) [0]допустим я делаю выборку по нескольким таблицам, например
select a.id, a.name, b.id_table1, b.name from
table1 a, table2 b
where b.id_table1=a.id
так вот как мне сделать так чтоб модифицировались записи в нескольких таблицах, тоесть вопрос заключается, могу ли я написать в ModifySQL код, который модифицирует несколько таблиц (в нашем случае 2), если да то как это сделать ??
спасибо всем заранее ...
← →
Johnmen © (2004-11-02 11:29) [1]Нет.
Но можно попробовать
1. Указать в добавок UpdateObject.
2. Прописать OnUpdateRecord.
← →
Sergey_Masloff (2004-11-02 11:36) [2]Или делать в Update вызов ХП и гасить эксепшн который возникнет когда сервер не пришлет весточку что он обновил ровно 1 запись.
← →
Rule © (2004-11-02 11:43) [3]Johnmen © (02.11.04 11:29) [1]
1. Указать в добавок UpdateObject.
а чего, тогда сразу 2 апдейта выполняется или одик перекрывает другой, а если таблицы не 2 а 6?
OnUpdateRecord
хм-м-м, а не будет ли это тормозится, этож фактически получается обработка на стороне клиента
← →
Rule © (2004-11-02 11:46) [4]Sergey_Masloff (02.11.04 11:36) [2]
чегото не совсем понятно, но в общем принцип понял ... можно действиетльно в модифиSQL прописать вызов к хранимой процещуре, вот только будет ли там работать вызов процедуры ?
← →
Johnmen © (2004-11-02 12:00) [5]>Rule © (02.11.04 11:43) [3]
1. Пробовать надо. А если не 2 а 6, то увы...
2. Какая такая обработка при UPDATE ? Просто запрос.
← →
Rule © (2004-11-02 12:11) [6]Johnmen © (02.11.04 12:00) [5]
2. Какая такая обработка при UPDATE ? Просто запрос.
я имел ввиду что в TIBDataSet событие OnUpdate в нутри него надо писать логическую часть обномления записи по несокльким таблицам ... вот я про что
← →
Sergey_Masloff (2004-11-02 13:48) [7]Rule © (02.11.04 11:46) [4]
>можно действиетльно в модифиSQL прописать вызов к хранимой >процещуре, вот только будет ли там работать вызов процедуры ?
Будет но будет вызывать Exception так как при выполнении обычного SQL сервер после выполнения сообщает сколько записей он проапдейтил а компонент проверяет их число - по его мнению оно должно быть ровно 1. 0 или больше 1 вызовет исключение. Именно его нужно перехватить и погасить. Я так делал - кривовато но работает надежно естественно нужно ловить только конкретное исключение.
Вариант 2 - Вьюха с триггерами. В стародавние времена с этим случались у Интербейса проблемы но сейчас клянутся что все пофиксили.
← →
Sergey_Masloff (2004-11-02 13:56) [8]Rule © (02.11.04 11:46) [4]
>можно действиетльно в модифиSQL прописать вызов к хранимой >процещуре, вот только будет ли там работать вызов процедуры ?
Будет но будет вызывать Exception так как при выполнении обычного SQL сервер после выполнения сообщает сколько записей он проапдейтил а компонент проверяет их число - по его мнению оно должно быть ровно 1. 0 или больше 1 вызовет исключение. Именно его нужно перехватить и погасить. Я так делал - кривовато но работает надежно естественно нужно ловить только конкретное исключение.
Вариант 2 - Вьюха с триггерами. В стародавние времена с этим случались у Интербейса проблемы но сейчас клянутся что все пофиксили.
← →
Rule © (2004-11-02 14:05) [9]Sergey_Masloff (02.11.04 13:56) [8]
хм... действительно хорошая идея по поводу вьюхи, спасибо большое
← →
Rule © (2004-11-03 11:33) [10]Все, сделал, у меня в представлении (вьюхе) собраны 6 таблиц и я сделал тригер он апдейт при котором обновляются все таблицы в зависимости от введенных данных и в конце стоит exit для того чтобы не возникало исключение что вью только для чтения, вот так я решил эту проблемму, спасибо всем кто помогал :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.034 c