Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];

Вниз

Обновление результатов запроса   Найти похожие ветки 

 
me2   (2003-04-18 16:55) [0]

Помогите найти решение такой задачи: есть две таблицы (например, 1-я с полями good_id, good_name и 2-я с полями order_code, good_id) по полю good_id установленна связь. Во второй таблице задается каскадное обновление good_id при его изменении в первой таблице. Так вот проблема заключается в следующем - если получать данные из первой таблицы при помощи запроса, и используя запрос на обновление (IBUpdateSQL) попытаться их изменить, то там где на текущее поле есть ссылка во второй таблицы обновление не происходит и выдается ошибка. Если ссылки нет, то все отлично обновляется. А вот если использовать вместо запроса таблицу, то происходит обновление независимо от ссылок(и каскадно тоже все обновляется). Какой можно найти выход?


 
kravchuk   (2003-04-18 16:59) [1]

если все сделал как говоришь, то должно работать, давай как код


 
me2   (2003-04-18 17:02) [2]

Код чего? И ты уверен, что должно, проврял или только теоретически?


 
Соловьев   (2003-04-18 17:09) [3]

что-то не понятно...
какие настройки у связи?
что в IBUpdateSQL?


 
me2   (2003-04-18 17:20) [4]

1. Настройки UPDATE - CASCADE, DELETE - NO ACTION
2. Для конкретно моего случая
Сам запрос
select "object_code", "object_name", "object_descr" from OBJECTS
where ("node" = :tree_node) and ("node_id" = :node_id)
Запрос на модификацию
update "OBJECTS"
set
"OBJECTS"."object_code" = :"object_code",
"OBJECTS"."object_name" = :"object_name",
"OBJECTS"."object_descr" = :"object_descr"
where
"OBJECTS"."object_code" = :"OLD_object_code" and
"OBJECTS"."object_name" = :"OLD_object_name" and
"OBJECTS"."object_descr" = :"OLD_object_descr"

Запрос на удаление
delete from "OBJECTS"
where
"OBJECTS"."object_code" = :"OLD_object_code" and
"OBJECTS"."object_name" = :"OLD_object_name" and
"OBJECTS"."object_descr" = :"OLD_object_descr"

Запрос на вставку
insert into "OBJECTS"
("OBJECTS"."object_code", "OBJECTS"."object_name", "OBJECTS"."object_descr")
values
(:"object_code", :"object_name", :"object_descr")

Запрос на обновление
Select
"OBJECTS"."object_code",
"OBJECTS"."object_name",
"OBJECTS"."object_descr",
"OBJECTS"."node",
"OBJECTS"."node_id"
from "OBJECTS"
where
"OBJECTS"."object_code" = :"object_code" and
"OBJECTS"."object_name" = :"object_name" and
"OBJECTS"."object_descr" = :"object_descr"





 
kravchuk   (2003-04-18 18:09) [5]

у тебя не может под условие "OBJECTS"."object_code" = :"OLD_object_code" and
"OBJECTS"."object_name" = :"OLD_object_name" and
"OBJECTS"."object_descr" = :"OLD_object_descr"
попадать несколько записей?


 
me2   (2003-04-18 18:29) [6]

Нет



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.014 c
14-23336
Шоломицкий
2003-04-08 16:19
2003.05.08
Загрузить txt файл в Tmemo


14-23369
Marser
2003-04-15 22:46
2003.05.08
C++ Builder


3-23039
Sergeeeee
2003-04-16 19:02
2003.05.08
Не могу побороть Disconnect


14-23329
race1
2003-04-18 12:59
2003.05.08
ностальжи


1-23117
Yegor
2003-04-25 19:09
2003.05.08
ListView.UpdateImage





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский