Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Вниз

Цикл в хранимой процедуре   Найти похожие ветки 

 
RomanH ©   (2006-04-17 14:17) [0]

Мастера подскажите каким образом можно сделать такую конструкцию
While not DataSet1.EOF do
begin
      if DataSet1.FieldValue[N1]=DataSet2.FieldValue[N1] then
                             Действие1
     else
                             Действие2    
end;

 в хранимой процедуре.


 
RomanH ©   (2006-04-17 14:19) [1]

Извините Next забыл набисать
While not DataSet1.EOF do
begin
     if DataSet1.FieldValue[N1]=DataSet2.FieldValue[N1] then
                            Действие1
    else
                            Действие2    
     DataSet1.Next;
end;


 
Johnmen ©   (2006-04-17 14:24) [2]

FOR SELECT ...

А почему ты не читаешь документацию?


 
RomanH ©   (2006-04-17 14:46) [3]

Я читаю документацию (LangRef.pdf) .Не могу понять как это работает

select count(*) from Table1 into Rec_Count;
if (i<=Rec_Count) do
begin
for select N1 from Table1 into :NN1 do
  begin
        select N1 from Table 2 into :NN2
        if NN1=NN2 then Действие
  end
i=i+1;
end;

Подскажите в таком случае будут ли все значения N1 из Table1 сравниваться со всеми значениями Table2.


 
Johnmen ©   (2006-04-17 14:54) [4]


> Подскажите в таком случае будут ли все значения N1 из Table1
> сравниваться со всеми значениями Table2.


Не понял... Каждое с каждым что ли??? Зачем???
Что вообще надо?


 
RomanH ©   (2006-04-17 15:01) [5]

Имеются таблицы Table1 и Table2.
В хранимой процедуре необходимо сравнить значения из Table1 со значениями Table2. Если такие записи существуют то их надо удалить из Table1. Оставшиеся записи таблицы Table1 добавить  в Table2.


 
Desdechado ©   (2006-04-17 15:07) [6]

если сравнение по одному полю, то все проще
delete from T1 where N1 IN( select N2 from T2 );
insert into t2 select * from t1


 
Johnmen ©   (2006-04-17 15:09) [7]

1. DELETE FROM Table1 T1 WHERE EXISTS (SELECT 1 FROM Table2 T2 WHERE T1.Field=T2.Field)
2. INSERT INTO Table2 SELECT * FROM Table1


 
RomanH ©   (2006-04-17 15:18) [8]


> Johnmen ©

Подскажите где можно почитать про понимание языка SQL.
Мне бы тоже хотелось бы как вы, все это реализовать двумя строчками.
Да вторую строку я понимаю полностью а вот с первой ни как не соображу.
DELETE FROM Table1 T1 WHERE EXISTS (SELECT 1 FROM Table2 T2 T1.Field=T2.Field)


 
Sergey13 ©   (2006-04-17 15:25) [9]

2 [8] RomanH ©   (17.04.06 15:18)
DELETE FROM Table1 T1 WHERE EXISTS (SELECT 1 FROM Table2 T2 T1.Field=T2.Field)
Подстрочник.
Удалить из таблицы1 записи, для которых существует хотя бы одна запись в таблице2 с кодом, таким же как и в таблице1.
8-)
ЗЫ: Поиши в сети по "ГРУБЕР + SQL" для понимания.


 
Johnmen ©   (2006-04-17 15:27) [10]

Да в том же самом LangRef.pdf про всё это написано. В спецификации команд SELECT и DELETE.
Ещё полезно просто спецификацию SQL92 почитать. Где искать не скажу, не помню...



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

Форум: "Базы";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.012 c
4-1136633780
workdisk450
2006-01-07 14:36
2006.06.11
Как использовать нестандартный шрифт, не устанавливая его?


2-1148369558
Neo Trinitron
2006-05-23 11:32
2006.06.11
Destroy компонента при TForm.Free


1-1146559645
neo_cleaner
2006-05-02 12:47
2006.06.11
сохранение формы


15-1147720258
Nous Mellon_
2006-05-15 23:10
2006.06.11
Настройка монитора


15-1147970494
Empleado
2006-05-18 20:41
2006.06.11
< удалено модератором >





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский