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

Вниз

Нюанс по написанию процедуры InterBase   Найти похожие ветки 

 
Step[B.M.]   (2003-07-28 11:38) [0]

for select KFO from TBL WHERE KFO=4
into :VAR_KFO do XXXXXXXX; else YYYYYYYYYY;

Так вот. Если в таблице найдется KFO=4 то ХХХХХХХХХ выполнится но
если не найдется то YYYYYYYYYY почему-то не выполняется.
Как поступить чтоб выполнялся :)
Спасибо.


 
Zacho   (2003-07-28 11:48) [1]

Чего ?? Нет такого синтаксиса в IB. Делай, например, так:
FOR SELECT KFP FROM TBL INTO :VAR_KFO DO
BEGIN
IF (VAR_KFO=4) THEN
BEGIN
XXXXXX;
END ELSE
BEGIN
YYYYY;
END
END


 
Соловьев   (2003-07-28 11:48) [2]


> for select KFO from TBL WHERE KFO=4
> into :VAR_KFO do XXXXXXXX; else YYYYYYYYYY;


for select KFO from TBL WHERE KFO=4
into :VAR_KFO do XXXXXXXX;
if KFO is NULL then
begin
YYYYYYYYYY;
end





 
Zacho   (2003-07-28 11:53) [3]


> Соловьев © (28.07.03 11:48)

Не-а ... Откуда же возьмется KFO за пределами цикла FOR SELECT ?


 
Соловьев   (2003-07-28 11:58) [4]


> Zacho © (28.07.03 11:53)

да ты прав. не то написал. надо

for select KFO from TBL WHERE KFO=4
into :VAR_KFO do XXXXXXXX;
if VAR_KFO is NULL then
begin
YYYYYYYYYY;
end


 
Zacho   (2003-07-28 12:03) [5]


> Соловьев © (28.07.03 11:58)

Не, это тоже не будет работать. Условие VAR_KFO is NULL не выполнится никогда, т.к. в VAR_KFO окажется последнее выбранное значение KFO, т.е. 4 :)


 
Zacho   (2003-07-28 12:12) [6]


> Zacho © (28.07.03 12:03)

Да, а здесь я не прав. :-) Похоже не правильно понял, что именно надо было автору. Будет работать, только стоило бы еще перед FOR SELECT написать VAR_KFO=NULL;


 
Соловьев   (2003-07-28 12:14) [7]


> Zacho © (28.07.03 12:03)

почему? если цыкл не выполниться, то VAR_KFO будет NULL :)
Правда я сначала не посмотрел запрос - смылса в нем нет. А вот твой вариант

> Zacho © (28.07.03 11:48)

имеет смыл :) А что автор поста хотел - остается догадываться :)))


 
HSolo   (2003-07-28 14:33) [8]

Попробую и я погадать :))

if exists (select KFO from TBL WHERE KFO=4)
then XXXXXXXX; else YYYYYYYYYY;


 
Step[B.M.]   (2003-08-08 19:48) [9]

Спасибо огромное что вы так все "погадали". Много чего полезного. Благодаря Вам все у меня получилось :)



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

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

Наверх





Память: 0.45 MB
Время: 0.011 c
1-1494
Orange Lim
2003-08-18 09:55
2003.09.01
Нити


1-1493
n-m-a
2003-08-18 09:37
2003.09.01
Я извеняюсь за свой может глупый вопрос, но можно ли узнать


6-1523
Svin
2003-06-23 10:45
2003.09.01
IdPOP3


1-1492
Nestor
2003-08-15 07:58
2003.09.01
Подскажите пожайлуста, как при написании help a избавиться от


1-1491
KSergey
2003-08-17 13:07
2003.09.01
Можно ли изменить шаблоны Code Complete?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский