Выполнение процедур

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Victor
Сообщения: 11
Зарегистрирован: 25 янв 2005, 12:09

Выполнение процедур

Сообщение Victor » 01 фев 2005, 06:29

Подскажите пожалуйста возможно ли использовать написанные процедуры между SELECT FROM на подобии встроиных функции count,
про UDF я знаю

sag
Сообщения: 116
Зарегистрирован: 02 ноя 2004, 11:42

Сообщение sag » 01 фев 2005, 08:16

можно, посредством дополнительного селекта

Код: Выделить всё

select ...,
 (select hp_ret_field from MY_HP(...)),
 ...
from

Victor
Сообщения: 11
Зарегистрирован: 25 янв 2005, 12:09

Сообщение Victor » 01 фев 2005, 08:32

Спасибо за ответ,ни когда б не подумал о такой конструкции

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 01 фев 2005, 13:10

Кроме того, в случае когда процедура не зависит от полей таблиц в запросе (является ведущей в джойне), можно

Select P.Field1, T.Field2
From MyProc P(:Param) Join MyTable T On T.Field3=P.Field4

а если всё наоборот - ведушая таблица, а процедура присоединяется, то можно

Select P.Field1, T.Field2
From MyTable T Left Join MyProc(T.Field3) On 0=0

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

Ответить