Execption "too many rows"
Fermé
bouhmid86
Messages postés
21
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
26 février 2011
-
6 nov. 2009 à 00:17
bouhmid86 Messages postés 21 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 26 février 2011 - 6 nov. 2009 à 13:14
bouhmid86 Messages postés 21 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 26 février 2011 - 6 nov. 2009 à 13:14
A voir également:
- Ora-01422: l'extraction exacte ramène plus que le nombre de lignes demandé
- Many cam - Télécharger - TV & Vidéo
- Too many hops - Forum Mail
- Hiberfil.sys too big - Guide
- Request header or cookie too large - Forum Webmastering
- Facebook too many redirects - Forum Facebook
4 réponses
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
6 nov. 2009 à 12:52
6 nov. 2009 à 12:52
Salut,
Un simple exemple:
==> à la console nous aurons:
Donc tout est OK. Rajoutons une valeur et réexécutons:
==> à la console nouas aurons:
Modifions notre procédure stockée:
Et rebelotte pour une exécution:
==> à la console nous aurons:
Voilou...
++
Un simple exemple:
DROP TABLE aaa; CREATE TABLE aaa ( b NUMBER ); INSERT INTO aaa VALUES (1); DROP PROCEDURE ppp; CREATE OR REPLACE PROCEDURE ppp IS BEGIN DECLARE dummy NUMBER; BEGIN SELECT b INTO dummy FROM aaa; DBMS_OUTPUT.put_line ('value is ' || dummy); END; END; / exec ppp;
==> à la console nous aurons:
Procedure created. PL/SQL procedure successfully completed. 1 row created. value is 1
Donc tout est OK. Rajoutons une valeur et réexécutons:
INSERT INTO aaa VALUES (2); exec ppp;
==> à la console nouas aurons:
1 row created. BEGIN ppp; END; Error at line 4 ORA-01422: l'extraction exacte ramène plus que le nombre de lignes demandé ORA-06512: à "PPP", ligne 7 ORA-06512: à ligne 1
Modifions notre procédure stockée:
CREATE OR REPLACE PROCEDURE ppp IS BEGIN DECLARE dummy NUMBER; BEGIN SELECT b INTO dummy FROM aaa; DBMS_OUTPUT.put_line ('value is ' || dummy); EXCEPTION WHEN TOO_MANY_ROWS THEN DBMS_OUTPUT.put_line ('catched error :-)'); END; END; /
Et rebelotte pour une exécution:
exec ppp;
==> à la console nous aurons:
catched error :-)
Voilou...
++