Я создал процедуру (p1). Эта процедура открывает курсор (c1). И я вызываю другую процедуру (p2) в цикле для каждой строки курсора. Процедура занимает от 22 секунд до 120 секунд. В процедуре P1 открываем, закрываем и освобождаем курсор c1. Это прекрасно работает.Вызов курсора в цикле
Теперь процедура P1 имеет вход. Итак, я написал другую процедуру (p3) с помощью курсора (c2). Курсор c2 получает вход для p1. Теперь количество строк для C2 равно 1403. Поэтому я вызываю P1, 1403 раза из P3. И это создает ошибку:
Error: Cursor trying to open C1, is already open.
Я понимаю, что сервер Sql пытается запустить P1 одновременно для многих строк в С2. И поскольку C1 уже открыт, значит, приходит ошибка.
Любая идея, как я могу ограничить P3 для выполнения P1 по одному за раз.
Большое спасибо. Это сделал трюк. –