|
Из-за чего возникает ошибка ORA-01445?
|
|||
---|---|---|---|
#18+
Есть такой запрос: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
При его выполнении возникает ошибка. Версия: Oracle Database 10g Release 10.2.0.4.0 - 64bit Production Таблица CC_BONUS_TMP_INSTAGRAM это вспомогательная таблица для предварительной пакетной загрузки данных и последующей обработки (без ключей и индексов). Это баг 4369235? Или неправильный запрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 17:14 |
|
Из-за чего возникает ошибка ORA-01445?
|
|||
---|---|---|---|
#18+
Alibek B. Или неправильный запрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 17:35 |
|
Из-за чего возникает ошибка ORA-01445?
|
|||
---|---|---|---|
#18+
Внутренний запрос выполняется успешно. merge выдает ошибку ORA-01445. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 17:44 |
|
Из-за чего возникает ошибка ORA-01445?
|
|||
---|---|---|---|
#18+
А вот в таком виде работает нормально: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2020, 17:46 |
|
Из-за чего возникает ошибка ORA-01445?
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 13:06 |
|
Из-за чего возникает ошибка ORA-01445?
|
|||
---|---|---|---|
#18+
andrey_anonymous Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 16:07 |
|
Из-за чего возникает ошибка ORA-01445?
|
|||
---|---|---|---|
#18+
Не понял, о чем это, но у меня внутри MERGE довольно сложный запрос с несколькими JOIN, поэтому переделать его на UPDATE я не смогу. Да и ERROR это вычисляемое сложное выражение, в процессе MERGE присваиваемое одноименному столбцу. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 16:48 |
|
Из-за чего возникает ошибка ORA-01445?
|
|||
---|---|---|---|
#18+
Подобный запрос обусловлен следующим. CC_BONUS_TMP_INSTAGRAM это вспомогательная таблица, наполняемая из разных источников (в основном ручной ввод). Время от времени эта таблица обрабатывается. Вначале запускается приведенный запрос merge, который бракует те данные, которые не соответствуют первичным критериям — у этих строк в поле ERROR вносится причина отклонения записи. Затем клиент делает из этой таблицы запрос с фильтром where CLOSED is null and ERROR is null и обрабатывает их построчно. При успешной обработке у текущей записи задается CLOSED=sysdate, при неуспешной обработке в поле ERROR сохраняется причина ошибки. Можно не делать merge, а все проверки делать на клиенте, но ошибок может быть довольно много и многие из них можно отсечь заранее и не гонять между клиентом и БД эти данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 17:08 |
|
Из-за чего возникает ошибка ORA-01445?
|
|||
---|---|---|---|
#18+
Alibek B. А вот в таком виде работает нормально: rowid зарезервированное слово, мож из-за етого оракля лихорадит ошибка странная, я ожидал скорее получить ORA-00918 .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 17:10 |
|
Из-за чего возникает ошибка ORA-01445?
|
|||
---|---|---|---|
#18+
Да, я уже понял, что дело в имени столбца. Возможно когда я в соединении указываю rs.ROWID, то Oracle это понимает, как ROWID таблицы rs (а у альяса просто отсутствует физический адрес строки), но вместо специфичной ошибки указывается другая, схожая по смыслу. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 17:15 |
|
Из-за чего возникает ошибка ORA-01445?
|
|||
---|---|---|---|
#18+
Alibek B. то Oracle это понимает, как ROWID таблицы rs так ж не слетает Код: plsql 1. 2. 3.
но тож дуреет .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 17:50 |
|
|
start [/forum/topic.php?fid=52&fpage=49&tid=1881384]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 157ms |
0 / 0 |