Zum Inhalt springen

Select Into - Fehler in Oracle


yallayalla

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...