Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Остановка курсива при пустой выборке
|
|||
|---|---|---|---|
|
#18+
Всем привет. Есть процедура, которая в курсиве выбирает id-записей. Далее происходит доп. выборка: Код: plsql 1. 2. 3. 4. 5. если в таблице acc не находит запись - происходит выход из курсива.... Не хотелось бы предварительно ставить еще один запрос на проверку наличия юзера в таблице асс... Подскажет, как правильнее решить данную задачу? Заранее спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 11:02 |
|
||
|
Остановка курсива при пустой выборке
|
|||
|---|---|---|---|
|
#18+
chiffacffкак правильнее решить данную задачу? Код: sql 1. PS. "Курсив" на самом деле называется "курсор". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 11:33 |
|
||
|
Остановка курсива при пустой выборке
|
|||
|---|---|---|---|
|
#18+
Хотя разумнее не просто игнорить, а указать правильную ITERATE. Ну и не прогавкать опустошение курсора во избежание бесконечного цикла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 11:35 |
|
||
|
Остановка курсива при пустой выборке
|
|||
|---|---|---|---|
|
#18+
Akinachiffacffкак правильнее решить данную задачу? Код: sql 1. PS. "Курсив" на самом деле называется "курсор". угу.... курсор.... я использую DECLARE CONTINUE HANDLER FOR NOT FOUND SET cursor_finished = 1; для остановки курсора вот вся процедура: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 12:00 |
|
||
|
Остановка курсива при пустой выборке
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Только непонятно, что есть BalanceGet - где декларировано и как используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 13:00 |
|
||
|
Остановка курсива при пустой выборке
|
|||
|---|---|---|---|
|
#18+
Akina Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Только непонятно, что есть BalanceGet - где декларировано и как используется. Методологикали ("по методологии" -- как это сказать по русски?) обработка ошибки -- вполне достойный вариант. но есть и другие -- например вернуть NULL . Очивидно (на всякий надо уточнить) что user_id ту уникальныуй ключ, тогда просто заменить селект на SELECT MAX(balance) INTO BalanceGet FROM acc WHERE user_id = UserIdGet; ...и проверять на NULL ----------------------- еще вариант -- на мой взгляд самый правильный -- в изначальном селекте для курсора выбирать только существующие user_id. Например тупо добавить WHERE EXISTS.... Вообще надо проанализировать каким образом на главный запрос (курсор) могут попасть условия для выборки несушествующих ИД... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 16:12 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39542627&tid=1830322]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 361ms |

| 0 / 0 |
