
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.09.2016, 11:34:42
|
|||
|---|---|---|---|
Борьба с no data found |
|||
|
#18+
Я последнее время использую nvl(max(col1), 0) в запросе select into. Это норм? Или нельзя так, и лучше через exception? Меня терзают смутные сомнения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.09.2016, 11:36:54
|
|||
|---|---|---|---|
Борьба с no data found |
|||
|
#18+
misha1973Я последнее время использую nvl(max(col1), 0) в запросе select into. Это норм? Или нельзя так, и лучше через exception? Меня терзают смутные сомнения... Можно, это распространенный прием, nvl(max(...), 0) from dual where exists (...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.09.2016, 12:05:18
|
|||
|---|---|---|---|
Борьба с no data found |
|||
|
#18+
misha1973, Некоторые полагают, что эффективнее использовать курсор и фетч, ссылаясь что "второй фетч" для too_many_rows потребляет ресурсы. Отсюда и вариант работы с no_data_found. Про no_data_found, стоит отметить, может быть не только эффективнее, но и корректнее, не доводить до необходимости проверки отдельным селектом. Если тебя волнует, нормальный ли ты, лучше обратиться к психиатру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.09.2016, 12:29:28
|
|||
|---|---|---|---|
Борьба с no data found |
|||
|
#18+
1) Много пафоса. 2) Где хоть слово я написал про проверку существования значения отдельным селектом? Понятно, что это ноу гуд. Вопрос был только в эффективности вычисления агрегата по сравнению с отловом исключения и присваивания значения по умолчанию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.09.2016, 14:50:06
|
|||
|---|---|---|---|
Борьба с no data found |
|||
|
#18+
misha1973Где хоть слово я написал про проверку существования значения отдельным селектомВ заголовке темы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.09.2016, 12:24:54
|
|||
|---|---|---|---|
|
|||
Борьба с no data found |
|||
|
#18+
misha1973, как вариант select coalesce ( (select col1 from ...), 0 ) into val from dual; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2016, 12:09:42
|
|||
|---|---|---|---|
|
|||
Борьба с no data found |
|||
|
#18+
misha1973, достаточно max(col1). Null - это уже data found ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2016, 15:01:53
|
|||
|---|---|---|---|
Борьба с no data found |
|||
|
#18+
Стромпртстен, да ну? На каком уровне дата фаунд? Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2016, 16:58:09
|
|||
|---|---|---|---|
|
|||
Борьба с no data found |
|||
|
#18+
dmdmdm, Ты не старался :) Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2016, 04:31:41
|
|||
|---|---|---|---|
Борьба с no data found |
|||
|
#18+
Стромпрстен, Внезапно. И какой смысл в этом count(*) = 1 для пустого запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2016, 05:27:52
|
|||
|---|---|---|---|
|
|||
Борьба с no data found |
|||
|
#18+
AnSi_Sr, Читаем что возвращают агрегирующие функции и просвещаемся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.09.2016, 06:24:29
|
|||
|---|---|---|---|
Борьба с no data found |
|||
|
#18+
внезапноЧитаем что возвращают агрегирующие функции и просвещаемся Спасибо, обязательно. Поскольку дискуссия заходит в тупик, резюмирую. В теме речь идет об использовании конструкции для проверки существования записи в таблице по идентификатору. Есть такие варианты решения вместо count(*): - выбрать по идентификатору с обработкой NDF; - открыть курсор и профетчить его один раз; - использовать конструкцию NVL(MAX(1), 0); Заявленный в процессе обсуждения тезис, что NULL - это какой-то DATA FOUND и достаточно простого MAX(1), а также последующая демонстрация использования противоречат постановке задачи, поскольку возвращают 1 вместо 0 для пустого запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&tablet=1&tid=1887510]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 306ms |

| 0 / 0 |
