Ich denke Du hast ein dynamisches Compound-Statement und willst einfach nur wissen, wie in SQL (PL) eine Schleife programmiert wird.
SQL unterstützt 3 verschiedene Schleifen:
- LOOP ... END LOOP; Endlos Schleife, die mit LEAVE :Tag verlassen werden muss.
- WHILE Bedingung DO ... END WHILE; Do While Schleife, wird solange wiederholt wie die Bedingung wahr ist.
- REPEAT ... UNTIL Bedingung END REPEAT; Do Until Schleife, wird solange wiederholt wie die Bedingung nach UNTIL falsch ist
Code:
TagLeave: Loop
-- auszuführende SQL Statements
If -- Ende-Bedingung
Then Leave :TagLeave;
End If;
-- auszuführende SQL Statements
End Loop;
TagLeave: WHILE -- Condition = True,
-- z.B. WHILE VarDate < Current_Date (Achtung KEIN Semi Colon!)
DO -- auszuführende SQL Statements
-- zusätzliche IF-Bedingung mit LEAVE erlaubt
End While;
TagRepeat: Repeat
-- auszuführende SQL Statements
-- zusätzliche IF-Bedingung mit LEAVE erlaubt
Until -- Condition - wenn Bedingung = True
-- z.B. UNTIL VarDate >= Current Date (Achtung KEIN Semi Colon!)
End Repeat
Bookmarks