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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
3-22924
Avreliy
2003-04-19 21:45
2003.05.08
Объединение с значением NULL


1-23190
Denisov
2003-04-22 22:02
2003.05.08
Активность через период..


1-23194
RavenD
2003-04-24 14:37
2003.05.08
Как создать Релиз?


14-23355
Andrey V.
2003-04-17 13:25
2003.05.08
Access violation


4-23433
Шоломицкий
2003-03-05 20:34
2003.05.08
Посылка сообщений Winamp 3