Re: оПН SUSPEND

2006-09-09 Пенетрантность Oleg_M
Вот чесслово, непонимаю, отчего флейм развели.
Никто ведь неудивится, если процедура вызванная как 

SELECT FIRST 1 

дальше первого SUSPEND непойдет.

imho, просто надо понимать, что есть SUSPEND.



Re: оПН SUSPEND

2006-09-08 Пенетрантность Serge Buzadzhy


Dmitry Yemanov пишет:

"Serge Buzadzhy" <[EMAIL PROTECTED]> wrote:

И какой тайный смысл такового действа? :)


В процедуре мне нагляднее возвращать одно значение именно через EXECUTE 
RETURNING. Но иногда это значение нужно использовать в запросе, а там без 
SELECT никуда. В основном это случаи эмуляции PSQL-функций имеющемися 
средствами. Блажь, конечно, но тем не менее :-)


Хозяин-барин конечно. :) Только надо бы где-то БОЛЬШИМИ БУКВАМИ 
написать, что при вызове через EXECUTE PROCEDURE дело дальше суспенда не 
пойдет. Sasha  в этом вопросе не одинок, мне уже приходилось объяснять 
своим юзерам этот вопрос. Как по уму... может лучше было бы ввести 
понятие "тип вызова процедуры".

 0 - может вызываться и через SELECT  и через EXECUTE PROCEDURE
 1 - только через SELECT
 2 - только через EXECUTE PROCEDURE.

Ну и соответственным образом ругаться в случаях 1 и 2 при попытке 
компиляции  или попытке вызвать процедуру неподобающим образом. Это даст 
то что девелопер уже на создании процедуры будет вынужден обратить 
внимание на возможно неочевидный для него нюанс с работой суспенда. А 
лично ты будешь использовать тип 0 и работать по своей "блажи" в свое 
удовольствие. :)



Удачи




Re: оПН SUSPEND

2006-09-08 Пенетрантность Serge Buzadzhy


Dmitry Yemanov пишет:

"sasha" <[EMAIL PROTECTED]> wrote:
А можно запретить? Мне кажется что такую тонкость как поведение SUSPEND 
при вызове процедуры с помощью EXECUTE PROCEDURE, помнят очень не многие.


Очень многие люди вызывают процедуры с SUSPEND через EXECUTE. Я, например 
:-)


И какой тайный смысл такового действа? :)




Re: оПН SUSPEND

2006-09-07 Пенетрантность Ded


Dmitri Kuzmenko wrote:


Dmitry Yemanov wrote:

иже с ним) и содержащих SUSPEND исключительно "шоб було". Помню 
времена, когда на форумах рекомендовали в executable-процедурах всегда 
писать SUSPEND (на всякий пожарный случай). Так что наследие ой как 
велико.



я рекомендовал. Но - при наличии выходных параметров.
Другое дело, что как ни пиши, все равно найдется тот,
кто неправильно поймет.


   И вструмячит по умолчанию прямо в оглуплятор популярного в народе 
инструмента:


create procedure New_Procedure ()
returns ()
as
begin
  /* Procedure Text */
  suspend;
end

:-D

--
Regards. Ded.



Re: оПН SUSPEND

2006-09-07 Пенетрантность Dmitri Kuzmenko


Hello, Dmitry!

Dmitry Yemanov wrote:

иже с ним) и содержащих SUSPEND исключительно "шоб було". Помню времена, 
когда на форумах рекомендовали в executable-процедурах всегда писать SUSPEND 
(на всякий пожарный случай). Так что наследие ой как велико.


я рекомендовал. Но - при наличии выходных параметров.
Другое дело, что как ни пиши, все равно найдется тот,
кто неправильно поймет. Что мы наблюдаем сплошь и рядом.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34