• aaa

    Poznávačka krás Maďarska - toulání po severu 

  • CAT700

    Non-stop adventure závod přes Katalánsko - z Pyrenejí až k moři

  • Toulání Šumavou
    Toulání Šumavou

    Extrémní non-stop MTB závod

  • 1000 miles
    1000 miles

    Non-stop extrémní adventure závod napříč Československem by Jan Kopka

  • Bohemia Divide 2019

    Non-stop bike packing závod 700km dlouhý z nejjižnějšího do nejsevernějšího místa ČR 

A A A

Někdy nastane situace, kdy je třeba zpracovat sadu příkazů opakovaně. K tomu lze použít příkaz WHILE.
Pokud je splněna podmínka definovaná za WHILE je zpracován blok příkazů mezi BEGIN a END. Na konci bloku je opět testovaná podmínka a pokud je splněna cyklus probíhá opakovaně. Pokud v průběhu cyklu potřebujeme zpracování ukončit a pokračovat ve zpracování příkazů za cyklem použijeme příkaz BREAK. Naopak, pokud chceme pokračovat dále, použijeme CONTINUE (vzhledem k tomu, že smyčka by beztak pokračovala dále, tak se CONTINUE prakticky nepoužívá)

1
2
3
4
5
6
7
WHILE Podmínka
 
BEGIN
  Příkaz 1
Příkaz 2   ..... END

 

Praktická ukázka i s použitím BREAK

1
2
3
4
5
6
7
8
9
10
11
12
13
14
DECLARE @PocitadloCyklu INT
SET @PocitadloCyklu = 0
 
WHILE @PocitadloCyklu < 10
BEGIN
  PRINT 'Cyklus: ' + CAST(@PocitadloCyklu AS nvarchar)
  SET @PocitadloCyklu = @PocitadloCyklu + 1
  IF @PocitadloCyklu = 8 
    BEGIN
      PRINT 'Přerušení smyčky'
      BREAK
    END	
  ELSE CONTINUE
END

Pozn. Cyklus by měl proběhnout 10x, ale vzhledem k podmínce uvnitř cyklu skončí při 7-mém průběhu

Výsledek:

Search