Oracle
 sql >> база данни >  >> RDS >> Oracle

Неочакван резултат от съпоставяне на множество набори в Oracle SQL

Това е бъг. Добавяне на /*+ NO_MERGE */ намек към втория вграден изглед в последния пример ще генерира очакваните резултати. Вижте този SQL Fiddle за пример. Независимо от заявката, тази подсказка никога не трябва да променя резултатите. Има няколко други привидно несвързани промени, които можете да направите, които ще генерират правилните резултати, като например премахване на някои от колоните или добавяне на неизползван ROWNUM в средата.

Oracle пренаписва вашата заявка, за да я оптимизира, но прави нещо нередно. Вероятно бихте могли да получите малко повече информация, като проследите заявката, но се съмнявам, че наистина ще можете да коригирате проблема. Заобиколете го засега и изпратете заявка за услуга до Oracle, за да могат да създадат грешка и в крайна сметка да я поправят.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Клиент на Oracle ORA-12541:TNS:няма слушател

  2. Решение на този лесен спусък

  3. INSERT тригер за вмъкване на запис в същата таблица

  4. Oracle - сравняване на стойността по подразбиране на колона

  5. Разлика между CLOB и BLOB от гледна точка на DB2 и Oracle?