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

ORA-01791 Erreur Pl-Sql

Chaque fois que vous recevez un message d'erreur Oracle que vous ne comprenez pas, la première chose à faire est d'en rechercher la signification. Une façon est simplement de le rechercher sur Google. Dans ce cas, la description complète trouvée dans Oracle9i Database Error Messagerie est :

(Curieusement, ce message d'erreur n'est pas documenté dans les manuels 10G ou 11G, bien qu'il soit toujours affiché !)

Cela correspond à l'instruction que vous avez écrite, qui est une requête SELECT DISTINCT où vous essayez de trier les résultats par une colonne que vous n'avez pas sélectionnée.

Si vous y réfléchissez, ce que vous demandez n'a pas de sens :en sélectionnant des valeurs DISTINCT qui n'incluent pas sam.stoptime (par exemple), vous pouvez consolider de nombreuses lignes avec des valeurs différentes pour sam.stoptime, alors laquelle serait gouverner la commande ?

De plus, comme le souligne la réponse de Noel, il n'y a aucune raison d'avoir une clause ORDER BY dans ce code de toute façon, donc la solution est simplement de la supprimer.