Текущий архив: 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.45 MB
Время: 0.008 c