Главная страница
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
6-23262
AnDRey
2003-03-13 16:22
2003.05.08
Сообщения через lan


14-23343
Vertx
2003-04-20 13:23
2003.05.08
Компонент отчетов


3-22966
vassilux
2003-04-15 18:38
2003.05.08
Paradox Delphi6 date


1-23196
FZ*XupypG
2003-04-25 03:17
2003.05.08
Вторичные потоки, выполнение кода в фоновом режиме


1-23067
Andrew_p
2003-04-25 18:38
2003.05.08
Как можно определить, является ли переменная путем к файлу