Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
6-1095258006
AlexV
2004-09-15 18:20
2004.11.28
Как проверить, доступен ли комп в локальной сети?


1-1100628629
rom
2004-11-16 21:10
2004.11.28
проблемы с перерисовкой надписи


1-1100517283
den_777
2004-11-15 14:14
2004.11.28
Ограничение RICHEDIT на длину текста


14-1100279610
vertal
2004-11-12 20:13
2004.11.28
Блокировка удаления exe во время его исполнения в Win NT(2000)


3-1097602129
Vigo
2004-10-12 21:28
2004.11.28
Вопрос по сортировке данных в TDBGrid e.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский