Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Конструкция в ХП [D7, FB 2.0]


RomanH ©   (2007-02-16 11:11:00) 

Здраствуйте.И снова задаю вопрос уважаемым мастерам .
Имеется хранимая процедура написанная в FB2.0.
Логика работы следующая:
begin
      select count(*) from table where ... into :N
      if (N>0) then
         begin
                .....;
                suspend;/*Вывод */
                exit;      /*Выход*/
         end
      select count(*) from table where ... into :N
      if (N>0) then
         begin
                .....;
                suspend;/*Вывод */
                exit;      /*Выход*/
         end
       
end

Вопрос:1.Работает ли в данном случае Exit?
          2.Возможно ли написать такую конструкцию при помощи
          Case of </B >(по моему моя конструкция выглядит очень коряво)


Gin2   (2007-02-16 13:24:00) [1]


> Была не известна, благодаря вам стала известна.Код уже можно
> упростить.

это не упростит не сильно, а вот ускорит - точно.


Johnmen   (2007-02-16 13:23:00) [2]


> Exit нужен для выхода из процедуры, т.е. прекратить работу
> процедуры

Работа процедуры заканчивается также на последнем end'е :)


RomanH   (2007-02-16 11:39:00) [3]


> [3]

Exit нужен для выхода из процедуры, т.е. прекратить работу процедуры


RomanH   (2007-02-16 11:36:00) [4]


> Gin2

Была не известна, благодаря вам стала известна.Код уже можно упростить.


Val   (2007-02-16 11:33:00) [5]

меняются ли в ветках данные table? если трудно написать на синтаксисе psql (а раз вопрос по нему, то трудно) - напишите вопрос на псевдокоде, чтобы было понятно что вы делаете и желаете получить от этого.


Gin2   (2007-02-16 11:32:00) [6]

Если честно не понятная логика. Зачем exit , когда есть if then else


Gin2   (2007-02-16 11:30:00) [7]

а вам конструкция IF (EXISTS(SELECT * FROM "Table1")) THENизвестна?


unknown   (2007-02-16 11:19:00) [8]

Не совсем понятно, что нужно, но есть предположение, что это:
begin
     select count(*) from table where ... into :N
     if (N>0) then
        begin
               .....;
               suspend;/*Вывод */
        end
else
               exit;      /*Выход*/
     select count(*) from table where ... into :N
     if (N>0) then
        begin
               .....;
               suspend;/*Вывод */
        end
else
               exit;      /*Выход*/      
end


Наверх

Титульная страница Поиск, карта сайта Написать письмо