Главная страница
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.018 c
6-23252
Новичек
2003-03-12 17:11
2003.05.08
Ожидание определенной строки от ServerSocket.


1-23135
Rocker
2003-04-28 10:25
2003.05.08
сохранение графики в файл...


1-23228
Till
2003-04-25 13:17
2003.05.08
Помогите не поиму почему у меня из-за if не работает код


1-23069
Giemgo
2003-04-15 15:55
2003.05.08
Почему допустимо integer(<адрес в памяти>) ?


14-23322
race1
2003-04-13 15:17
2003.05.08
мнемотехника