Офигеть. Неужели так сложно понять, что конкретно делает SUSPEND?

Что делает SUSPEND понятно. Мы тут подумали и пришли к выводу что логичнее всего при вызове процедуры из SELECT валить исключение при отсутствии в процедуре SUSPEND не смотря на наличие выходных параметров.
А рекомендации об использовании SUSPEND в Executable процедурах правильнее 
адресовать процедурам которые могут быть вызваны _только_ из EXECUTE или 
подкорректировать определение Executable процедур нужно, а то как-то 
рассогласовано получается:

Определение:

Executable procedures that an application can call directly, with the EXECUTE 
PROCEDURE
statement. An executable procedure need not return values to the calling 
program.

Примечание для SUSPEND:
SUSPEND should not be used in an executable procedure. Use EXIT instead to 
indicate to
the reader explicitly that the statement terminates the procedure.

А поскольку все процедуры можно вызвать через EXECUTE PROCEDURE, то получается 
что борланд не рекомендует использовать SUSPEND вобще и заменять его на EXIT ;-)

Ответить