Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
02.09.2003, 14:14
|
|||
---|---|---|---|
|
|||
Рекурсивные СТОРЕД ПРОЦЕДУРы С КУРСОРАМИ |
|||
#18+
Хотел написать рекурсивную процедурку но не тут то было. Проблема состоит в том что в процедуре отривается курсор, из которого я фетчу в цикле результаты и запихиваю их как параметри к той же процедуре. И есть следующий ерор : The cursor specified in an OPEN statement is already open. а можно что-бы курсор создавался локально только для процедури а не для всех? Спасибо всем код проседуры CREATE PROCEDURE DeleteOP ( IN pIdO BIGINT, IN pIdP BIGINT ) LANGUAGE SQL BEGIN DECLARE exist_idProperty BIGINT; DECLARE exist_subproperty CURSOR FOR SELECT idP FROM OPViews WHERE idO=pIdO AND ParentProperty=pIdP; DELETE FROM cOP WHERE idO = pIdO AND idP = pIdP; OPEN exist_subproperty; SET exist_idProperty=0; WHILE NOT exist_idProperty IS NULL DO SET exist_idProperty=NULL; FETCH exist_subproperty INTO exist_idProperty; IF NOT exist_idProperty IS NULL THEN CALL SaveObjectProperties ( pIdO , exist_idProperty); END WHILE; CLOSE exist_subproperty; ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.09.2003, 15:54
|
|||
---|---|---|---|
|
|||
Рекурсивные СТОРЕД ПРОЦЕДУРы С КУРСОРАМИ |
|||
#18+
В процедурных курсорах я ничего не понимаю (и не хочу понимать), но суть, дела, как я понимаю, такова. Надо удалить из cOP некоторый набор записей. Замечу, что в DB2 вместо Код: plaintext 1. 2.
можно более наглядно писать Код: plaintext 1. 2.
Нам же нужно удалить набор записей - это можно оформить как Код: plaintext 1. 2.
а вот это НекотороеViewИлиUDF делаем рекурсивным. Навскидку для меня тело выглядит примерно как Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
здесь могут быть ошибки, но общая идея должна быть понятна. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.09.2003, 16:38
|
|||
---|---|---|---|
|
|||
Рекурсивные СТОРЕД ПРОЦЕДУРы С КУРСОРАМИ |
|||
#18+
СПАСИБО БОЛЬШОЕ ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.09.2003, 04:25
|
|||
---|---|---|---|
Рекурсивные СТОРЕД ПРОЦЕДУРы С КУРСОРАМИ |
|||
#18+
В v 7.2 есть ограничение на вложенные вызовы процедур = 16. Вопрос к тем, кто юзает v 8 - ограничение осталось? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=43&mobile=1&tid=1606518]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 245ms |
total: | 378ms |
0 / 0 |