Zum Inhalt springen

Select Into - Fehler in Oracle


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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.

Geschrieben

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

Geschrieben

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

Geschrieben

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.

Geschrieben
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

Geschrieben
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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...