pourquoi lorsque je declare un curseur explicite contenant la clause ORDER BY J'obtient un message d'erreur :?:
@+SALICode:
1
2
3
4
5 CURSOR emp_curs IS (SELECT * FROM emp ORDER by sal );
Version imprimable
pourquoi lorsque je declare un curseur explicite contenant la clause ORDER BY J'obtient un message d'erreur :?:
@+SALICode:
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 :evil: )
Et sans la clause order by, quel est le resultat? ...........
voici le script simplifier
Le message d'erreur est le suivant :Code:
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:
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 :D