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