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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager