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

Вниз

Помогите с запросом   Найти похожие ветки 

 
RomanH ©   (2006-04-19 10:45) [0]

Доброго утра мастера. Существуют три таблицы:
Men
MenID MFam MName
1 aa Bb
2 dd cc
TMen
TMenID TMFam TMName
1001 aa Bb
1003 dd cc
TLog
TLogID TLNewID TLOldID
1 1001
2 1003

Пишу такую процедуру, которая должна редактировать таблицу Tlog( поле TLNewId)
В том случае если значения полей таблицы Tmen  такие же как и в таблице Men причем
TLNew=присваивается  то значение которое опять таки же если значение полей таблиц
Men и Tmen совпадают. Нижеприведенная процедура, выбирает только первое значение MenID и записи редактируются  с одним  и тем же MenID. Не переибирая в цикле for select do…

CREATE PROCEDURE BEGIN_REPLICATION
AS
DECLARE VARIABLE MEN_ID INTEGER;
begin
 for select men.menid from men where exists  (select 1 from tmen where (tmen.tmfam=men.mfam and tmen.tmname=men.mname)) into :men_id do
begin
      update Tlog
      set tlog.tloldid=tlog.tlnewid,Tlog.tlnewid=:men_id
      where  tlog.tlnewid in (select tmenid from tmen where exists (select 1 from men
                             where (tmen.tmfam=men.mfam and tmen.tmname=men.mname)));
 end
end
Как мне сделать чтобы в TLNewID записывались те значения MenID, если значение полей
Таблиц Men и Tmen совпадали a TmenID=TLOldID.

Men
MenID MFam Mname
1 aa Bb
2 dd cc
TMen
TMenID TMFam TMName
1001 Aa bb
1003 dd cc
TLog
TLogID TLNewID TLOldID
1 1 1001
2 2 1003


 
Johnmen ©   (2006-04-19 11:25) [1]

Прочитал три раза. Ничего не понял...:)



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

Текущий архив: 2006.06.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.097 c
9-1131295547
Friendship
2005-11-06 19:45
2006.06.11
Помогите пожалуйста разрешить одну проблему


15-1148048657
vidiv
2006-05-19 18:24
2006.06.11
sin(x) = sqrt(2)/2


15-1147897314
palva
2006-05-18 00:21
2006.06.11
Подарок русским программистам


2-1148457860
Lida
2006-05-24 12:04
2006.06.11
Отчеты


15-1147950751
Kolan
2006-05-18 15:12
2006.06.11
Вы заметили как быстро изменилось отношение к вете "Начинающим"