pourquoi lorsque je declare un curseur explicite contenant la clause ORDER BY J'obtient un message d'erreur:
@+SALI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CURSOR emp_curs IS (SELECT * FROM emp ORDER by sal );
pourquoi lorsque je declare un curseur explicite contenant la clause ORDER BY J'obtient un message d'erreur:
@+SALI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CURSOR emp_curs IS (SELECT * FROM emp ORDER by sal );
Quel message d'erreur ? (vous auriez pu vous douter que nous allions vous le demander)
Et sans la clause order by, quel est le resultat? ...........
voici le script simplifier
Le message d'erreur est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 DECLARE CURSOR emp_curs IS (SELECT * FROM emp ORDER by sal ); emp_rec Emp%ROWTYPE; BEGIN OPEN emp_curs; FETCH emp_curs INTO emp_rec; CLOSE emp_curs; END;
sans clause ORDER BY il n'a ya pas d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 FROM emp * ERREUR à la ligne 3 : ORA-06550: Ligne 4, colonne 4 : PL/SQL: ORA-00907: Parenthèse de droite absente ORA-06550: Ligne 2, colonne 20 : PL/SQL: SQL Statement ignored![]()
Il suffit de retirer les parentheses.
Les parentheses sont apparemment et effectivement supportees (ou tolerees), pour une raison qui, pour le moment, m'echappe.
merci plabrevo ca marche![]()
Partager