yallayalla Geschrieben 22. November 2004 Teilen Geschrieben 22. November 2004 Hallo! Die DB liefert mir die Fehlermeldung: ORA-01422: exact fetch returns more than requested number of rows bei diesem select: select id into t_id from id_sup; auf den dann noch open cu_projekt; loop fetch cu_projekt into ..... folgt Was will mir diese Fehlermeldung sagen? Danke für jeden Tip. mfg yallayalla Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
P3AC3MAK3R Geschrieben 22. November 2004 Teilen Geschrieben 22. November 2004 Es sieht so aus, als ob das select-Statement mehr als einen Wert zurückliefern würde. Damit der zurückgelieferte Wert aber in der Variablen t_id abgelegt werden kann, darf aber auch wirklich nur einer zurückkommen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yallayalla Geschrieben 22. November 2004 Autor Teilen Geschrieben 22. November 2004 Hallo! Also die Spalte ID in der Tabelle, aus der selected wird, hatnatuerlich mehr als einen Eintrag... select id into t_id from id_sup; select vorhabenid into t_vorhabenid from id_sup where id=t_id; quasi soll die erste ID gelesen werden, anhand der wird dann die vorhabenid ermittelt. Irgendwie habe ich da nen Denkfehler, glaube ich... mfg yallayalla Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
johnhaltonx Geschrieben 22. November 2004 Teilen Geschrieben 22. November 2004 Du versuchst eine Ergebnismenge in einer Variable zu speichern, das das select mehr als einen Wert zurückliefert. Entweder du verwendest einen Array oder du begrenzt die Ergebnismenge auf 1 an das select ein "where xy=yz and rownum=1" Gibt nur den ersten Wert des selects zurück Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tuxfriend Geschrieben 22. November 2004 Teilen Geschrieben 22. November 2004 quasi soll die erste ID gelesen werden, anhand der wird dann die vorhabenid ermittelt. Irgendwie habe ich da nen Denkfehler, glaube ich... Dein Gedankengang ist für mich zumindestens nicht ganz klar. Was hast du denn genau vor? Dein select gibt jedenfalls mehr als einen Wert zurück und kann deswegen nicht in einer Variable gespeichert werden. Ich denke du mußt dir eine Cursor deklarieren und diesen dann in eine Schleife durchlaufen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
The_red_one Geschrieben 23. November 2004 Teilen Geschrieben 23. November 2004 Wie wärs damit: das ganze in einen select schachteln -> select vorhabenid into t_vorhabenid from id_sup where id in (select id from id_sup) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 23. November 2004 Teilen Geschrieben 23. November 2004 select vorhabenid into t_vorhabenid from id_sup where id in (select id from id_sup) Das liefert aber immer noch die Fehlermedlung, wenn in der Tabelle id_sup mehrere Datensätze vorhanden sind (mit unterschiedliche IDs). Ich würde sagen, YallaYalla schildert erstmal genau sein Problem bzw. die Situation... Gruss, Axl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 23. November 2004 Teilen Geschrieben 23. November 2004 Hallo! Also die Spalte ID in der Tabelle, aus der selected wird, hatnatuerlich mehr als einen Eintrag... select id into t_id from id_sup; select vorhabenid into t_vorhabenid from id_sup where id=t_id; quasi soll die erste ID gelesen werden, anhand der wird dann die vorhabenid ermittelt. Irgendwie habe ich da nen Denkfehler, glaube ich... mfg yallayalla Was meinst du genau mit "die erste ID"? Die erste die in die Tabelle eingetragen wurde? Dann genügt es so wie johnhaltonx so erwähnte in der WHERE-Clause ein "rownum < 2" aufzunehmen und es würde bereits eine Abfrage reichen: select vorhabenid into t_vorhabenid from id_sup where rownum < 2; Ansonsten bitte nochmal genau das Problem beschrieben... Gruss, Axl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.