Можно ли использовать хранимую процедуру в курсоре?

Часто курсоры создаются с помощью кода SQL, например:

ОБЪЯВИТЬ MyCursor CURSOR FOR SELECT SIN(A),COS(A) FROM FGR_db_Database..tb_Angles, ГДЕ МЕЖДУ 0 И 360`

Если код уже существует в виде процедуры или, что более вероятно, гораздо более сложного фрагмента кода, можно ли использовать вместо него эту процедуру? Например:

DECLARE MyCursor CURSOR FOR EXEC sp_PR_ProcedureName @l_Angle

Я пытался, но пока безуспешно и не знал, возможно ли это вообще.

Заранее спасибо!


person HugMyster    schedule 16.01.2015    source источник
comment
Вы уже проверили эту страницу? stackoverflow.com/questions/11342306/   -  person macoms01    schedule 16.01.2015
comment
На самом деле, нет. Тем не менее, они на SQL Server 2008, а я на Sybase Transact SQL, поэтому я думаю, что не смогу провернуть ни один из трюков, тем более что он выглядит немного чуждым для меня... :o\   -  person HugMyster    schedule 16.01.2015
comment
Sybase была компанией, а не базой данных. Не могли бы вы уточнить, какой продукт вы используете (ASE, IQ, SQL Anywhere и т. д.), это может иметь значение в синтаксисе.   -  person Michael Gardner    schedule 16.01.2015
comment
Я не уверен на 100% в названии, но я всегда знал его как Sybase Transact SQL 12.7, работающий на сервере Unix. Лучше?   -  person HugMyster    schedule 16.01.2015
comment
Не совсем. Transact SQL — это просто название языка (которое MS также использует в SQL Server). Скорее всего, вы используете IQ (у которого была версия 12.7) или ASE (у которой не было версии 12.7). Выполните команду select @@version, и это сообщит вам, какое программное обеспечение и версию вы используете.   -  person Michael Gardner    schedule 16.01.2015
comment
У меня было ужасное предчувствие по этому поводу, но я все равно очень ценю это. Кажется, есть способ обойти это (-иш!) С помощью старой доброй временной таблицы. Это не идеально, но это работает.   -  person HugMyster    schedule 21.01.2015