Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

Такой глуповатеньки вопросик по 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
14-1100141366
Думкин
2004-11-11 05:49
2004.11.28
С днем рождения! 11 ноября


6-1092273550
piople
2004-08-12 05:19
2004.11.28
CGI + JavaScript


14-1100366571
MeF88
2004-11-13 20:22
2004.11.28
VCL или Win API


14-1099984480
Pupil
2004-11-09 10:14
2004.11.28
Простая математическая функция


14-1100438747
Иной
2004-11-14 16:25
2004.11.28
Сумрачная ветка