![]() |
Datenbank: ORACLE • Version: 10 • Zugriff über: BDE
For in & LOOP verschateln
Hallo zusammen, (ACHTUNG: PL/SQL)
ich möchte zwei for in Schliefen verschachteln. Wenn ich nur eine Schleife nutze funktioniert es, wenn ich aber eine weitere Schleife hinzufüge kann ich die Procedure zwar kompilieren aber es funktioniert ncihts mehr. Hier mal ein Teil meines Codes:
Code:
Was fehlt da. Kommt der eventuell nciht mehr aus der zweiten Schleife raus ?
for e in (
select bk.* from tabelle bk where bk.Spalte_1 IS NOT NULL order by bk.Spalte_2) loop for t in ( select tg.* from tabelle2 tg where tg.Spalte_1 = e.Spalte_1 order by tg.Spalte_2) loop ... end loop; commit; end loop; Gruss Holger [edit=Phoenix]Delphi- nach Code-Tags geändert. Das scheint mir PL/SQL zu sein. Mfg, Phoenix[/edit] |
Re: For in & LOOP verschateln
Hallo,
es liegt nicht an den verschalchtelten LOOPs sondern daran das ich im zweiten LOOP folgendes tue:
Delphi-Quellcode:
Wenn ich das auskommentiere, dann läuft er auch die innere Schleife durch. Woran kann das liegen, das wenn ich ein INSERT in der Schleife mache er raus springt. Er setzt einen Tupel ab aber keinen zweiten mehr ...
insert into Tabellex (
ID1, ID2, ID3, RANG) values('1', '1000099999', '22', '2'); |
Re: For in & LOOP verschateln
Sind die Werte variable oder wird immer der gleiche Inhalt eingetragen?
|
Re: For in & LOOP verschateln
Die sind variable. Ich verstehe nur nicht warum er das INSERT nur einmal absetzt. Ein Update setzt er mehrmals ab.
|
Re: For in & LOOP verschateln
Wie sieht der PK aus? Sind die Ds in dieser Beziehung wirklich einmalig?
|
Re: For in & LOOP verschateln
Hallo,
hast Du in der Routine eine Fehlerbehandlung? Wenn nein, bau Dir eine ein und lass' Dir die Fehler ausgeben ( ![]() Wie sehen die Schlüssel von Tabellex aus, hast Du da eventuell ein Problem? Was passiert, wenn Du hinter jedem Insert (zum Test) ein Commit einbaust? Protokolliere die per Insert einzufügenden Werte mit dbms.output, um zu sehen, dass wirklich das in die Tabelle eingefügt wird, was Du erwartest. |
Re: For in & LOOP verschateln
Das war der Hinweis. Die erste ID war einmalig. Ich dachte aber die ganze zeit das Sie das nicht wär.
Vielen dank. Läuft jetzt ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz