|
|
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
Hi All. Есть большой запрос, несколько экранов. По нему раскидана пара десятков inline select, которые возвращают единственную запись. Все хорошо пока целостность данных в порядке. Но если где-то случается нарушение (например, начинают пересекаться периоды), один из инлайнов ломается с ora-01427. Однако, Oracle не пишет какой именно, и дальше приходится ручками искать ошибку. Может есть какой-нибудь способ упростить поиск? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 09:34 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
EgoрНо если где-то случается нарушение (например, начинают пересекаться периоды)Не надо бороться со следствием. Следует устранять причину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 09:48 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 11:04 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
ElicНе надо бороться со следствием. Следует устранять причину. Что есть причина? Реализовавшийся операционный риск? Но я не владелец данных, и не могу его контролировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 11:22 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
EgoрНо я не владелец данных, и не могу его контролировать.Значит надо алгоритмы писать так, чтобы устраняли неоднозначность того, что есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 11:29 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
Гигант мыслидихотомия К сожалению, не спасает. Реализация даже простейшего ее варианта для поиска "метод половинного деления" дает в среднем результаты хуже, чем линейный перебор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 11:30 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
ElicЗначит надо алгоритмы писать так, чтобы устраняли неоднозначность того, что есть. Звучит заманчиво, но ... Например, у яблока есть динамический признак "цвет". Пользователь1 указал, что яблоко красное с 10:00 по 20:00. Пользователь2 указал, что яблоко желтое с 05:00 по 15:00. В данном случае я не вижу как устранить неоднозначность цвета в 12:00 без исправления исходных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 11:39 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
Egoря не вижу как устранить неоднозначность цвета в 12:00 без исправления исходных данных.Ты ж устранить кривизну данных не можешь: EgoрНо я не владелец данных, и не могу его контролировать. Из говно-данных можно выбирать какие-нибудь. Более говнистыми они всё равно не станут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 11:46 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
Прикручивайте rownum=1 до тех пор, пока ошибка не исчезнет. Я бы так и оставил, снабдив простеньким правилом выбора типа "кто первый, того и тапки" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 11:56 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
Загги, Elic, спасибо. Однако, допускать ошибки в данных это не наш метод. Значит придется ручками. Хорошо хоть пользователи косячат не часто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 14:18 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
EgoрХорошо хоть пользователи косячат не часто.Правильный софт не даёт им косячить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 14:28 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
EgoрЗагги, Elic, спасибо. Однако, допускать ошибки в данных это не наш метод. Значит придется ручками. Хорошо хоть пользователи косячат не часто. А, извините, руками Вы какой цвет яблока устанавливать будете? И если есть какой-то "ручной" алгоритм, не думали его выразить в коде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 14:51 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
EgoрElicЗначит надо алгоритмы писать так, чтобы устраняли неоднозначность того, что есть. Звучит заманчиво, но ... Например, у яблока есть динамический признак "цвет". Пользователь1 указал, что яблоко красное с 10:00 по 20:00. Пользователь2 указал, что яблоко желтое с 05:00 по 15:00. В данном случае я не вижу как устранить неоднозначность цвета в 12:00 без исправления исходных данных. Может тогда выбрать проблемные данные и убрать их из выборки? Или обработать отдельной процедурой после внесения данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 15:03 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
EgoрElicЗначит надо алгоритмы писать так, чтобы устраняли неоднозначность того, что есть. Звучит заманчиво, но ... Например, у яблока есть динамический признак "цвет". Пользователь1 указал, что яблоко красное с 10:00 по 20:00. Пользователь2 указал, что яблоко желтое с 05:00 по 15:00. В данном случае я не вижу как устранить неоднозначность цвета в 12:00 без исправления исходных данных. при желании конфликт в данных (без исправления) можно предотвратить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 15:13 |
|
||
|
Поиск ora-01427 в большом запросе
|
|||
|---|---|---|---|
|
#18+
MaximaXXL, Нееее, руками я только признак найду, в котором пользователи ошиблись. Исправлять уже, конечно, они сами будут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2017, 15:34 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39518999&tid=1885279]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 216ms |
| total: | 479ms |

| 0 / 0 |
