Oracle
 sql >> Base de données >  >> RDS >> Oracle

pourquoi ce sql a utilisé l'union tous n'a renvoyé aucune donnée

Vous n'avez pas dit sur quelle version vous rencontrez cela, mais Gordon Linoff a reproduit sur SQL Fiddle qui exécute 11.2.0.2, et comme d'autres l'ont dit, il n'est pas vu dans 10g et 11.2.0.3, il semble donc raisonnable de penser que vous pourrait également être sur 11.2.0.2.

Dans ce cas, cela semble identique au bogue 12336962. Si vous avez accès au support Oracle, vous (ou votre DBA) pouvez le rechercher, mais je ne peux pas reproduire ce qu'il dit ici, même s'il s'agit d'un bogue publié. L'exécution de votre requête et l'exemple du rapport de bogue produisent les mêmes résultats et, dans les deux cas, le changement de union all au union produit des résultats corrects. Vous voudrez peut-être faire une demande de service pour que cela soit confirmé.

Ce bogue est corrigé dans l'ensemble de correctifs 11.2.0.3 - je ne suis pas sûr que je sois vraiment censé le partager, mais il est déjà publié ici - donc rafistoler pourrait être votre meilleur pari, et Oracle pourrait suggérer que si vous augmentez un SR. En cas de doute, demandez directement à Oracle.