В Sybase IQ (минимум 12,6 и выше) вы можете выбрать хранимую процедуру и отфильтровать результаты, как если бы это была таблица. Я не знаю, работает ли это под ASE или ASA, но вы можете попробовать.
Таким образом, если ваша хранимая процедура называется myproc, а в наборе результатов есть столбец ACTIVE, который может быть 0 или 1, и вы хотите выбрать только строки ACTIVE = 1, вы можете сделать это.
ВЫБРАТЬ * ИЗ myproc () ГДЕ АКТИВНО = 1
В IQ вы также можете использовать это как производную таблицу и объединить ее с другими таблицами, например, такими как ...
ВЫБЕРИТЕ t1.name, t1.address, t2, active
ОТ tbl_atable t1,
(ВЫБЕРИТЕ * ИЗ myproc () ГДЕ АКТИВНО = 1) t2
ГДЕ t1.active = t2.active
... что-то вроде аккуратно!
Я надеюсь, что это работает для любой версии Sybase, которую вы используете.