sql >> Database >  >> RDS >> Oracle

ORA-01791 Pl-Sql-fout

Telkens wanneer u een Oracle-foutmelding krijgt die u niet begrijpt, moet u eerst de betekenis opzoeken. Een manier is om het gewoon te Googlen. In dit geval vindt u de volledige beschrijving in Oracle9i Database Error Berichten is:

(Vreemd genoeg is deze foutmelding niet gedocumenteerd in de 10G- of 11G-handleidingen, ondanks dat er nog steeds melding van wordt gemaakt!)

Dit komt overeen met de verklaring die u hebt geschreven, wat een SELECT DISTINCT-query is waarbij u de resultaten probeert te rangschikken op een kolom die u niet hebt geselecteerd.

Als je erover nadenkt, is wat je vraagt ​​niet logisch:door DISTINCT-waarden te selecteren die geen sam.stoptime bevatten (bijvoorbeeld), consolideert u mogelijk veel rijen met verschillende waarden voor sam.stoptime, dus welke zou de bestelling regelen?

Zoals het antwoord van Noel aangeeft, is er ook geen reden om een ​​ORDER BY-clausule in deze code te hebben, dus de oplossing is om deze gewoon te verwijderen.



  1. C# + MySQL-verklaring voorbereid met problemen met DUPLICATE KEY UPDATE

  2. Gebruik gecorreleerde subquery over meerdere kolommen

  3. Problemen met het seriële gegevenstype in DBeaver &PostgreSQL

  4. Bindvariabele gebruikt in BEGIN/END wordt gewist