![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Конструкция в ХП [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