powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Рекурсия в функциях.процедурах ASE 12.0/12.5
7 сообщений из 7, страница 1 из 1
Рекурсия в функциях.процедурах ASE 12.0/12.5
    #35632128
JenyaD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создаю процедуру
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
create procedure DBO.f_FILL_RECURCE
  @dov_id       numeric( 15 ),
  @firstrun       bit 
as
begin

...................

--запускаем рекурсию
if exists(select  1  from TREE where ID = @dov_id1)
begin
    exec f_FILL_RECURCE @dov_id  = @dov_id1,@firstrun =  0 
end

...................

return  1 

end 


Ругается при создании : Cannot add rows to sysdepends for the current stored procedure because it depends on the missing object 'f_FILL_RECURCE'. The stored procedure will still be created.

Можно ли использовать вложенные вызовы в процедурах ASE и если можно то как ??
...
Рейтинг: 0 / 0
Рекурсия в функциях.процедурах ASE 12.0/12.5
    #35632182
JenyaD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот здесь есть пример, ASУ вроде http://pbbraindump.wordpress.com/2008/05/20/avoiding-the-use-of-cursors-in-stored-procedures/
странно как такую процедуру получилось создать.
...
Рейтинг: 0 / 0
Рекурсия в функциях.процедурах ASE 12.0/12.5
    #35632184
JenyaD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И ещё подойдет и ASE 15.
...
Рейтинг: 0 / 0
Рекурсия в функциях.процедурах ASE 12.0/12.5
    #35632750
Dmitry..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в ошибке значится: The stored procedure will still be created.

т.е. это просто варнинг, процедура создана, и ты ее можешь пользовать.
ЗЫ: но кол-во вложенных вызовов ограничено ~15.
@@nestedlevel
...
Рейтинг: 0 / 0
Рекурсия в функциях.процедурах ASE 12.0/12.5
    #35632823
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sysdepends не очень важно, procedure created anyway: просто 1-ый раз она себя не видит (где ехес), прогоните этот create еще раз и entry в sysdepends будет создан.
...
Рейтинг: 0 / 0
Рекурсия в функциях.процедурах ASE 12.0/12.5
    #35633517
JenyaD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Процедуру я создал.
Странно у меня нету перемнной @@nestedlevel, зато есть @@nestlevel максимум 16 по доке сайбейса.
...
Рейтинг: 0 / 0
Рекурсия в функциях.процедурах ASE 12.0/12.5
    #35633728
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JenyaD пишет:

> --запускаем рекурсию

> Ругается при создании : Cannot add rows to sysdepends for the current
> stored procedure because it depends on the missing object
> 'f_FILL_RECURCE'. The stored procedure will still be created.

Это - только предупреждение. Процедура всё равно создаётся.
И будет работать.

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

Можно, вот так и использовать.

Только учтите, что размер стека вызовов в ASE -- не более 16.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Рекурсия в функциях.процедурах ASE 12.0/12.5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]