Zadávání hodnot výběrem z číselníku / seznamu

IS STUDIUM » SQL Vault » Zadávání hodnot výběrem z číselníku / seznamu

Výběr hodnot

1) Z číselníku, ze kterého se vybere jedna hodnota
  • na 2. místě V, na 3. místě název číselníku
SELECT oprijmeni, ojmeno, omesto FROM osoba WHERE oobec = :obec

-- *obec*V*OBEC*Bydliště - obec*535419

Popis parametrů:
-- *název parametru*datový typ*název číselníku*popis parametru*defaultní hodnota
1107.png


2) SQL dotazem, který vytvoří seznam žádaných hodnot. Ze seznamu se vybere jedna nebo více hodnot.
  • na 2. místě W1, na 3. místě část SQL dotazu začínající od názvu číselníku.
  • dotaz lze napsat dvěma způsoby:
    • buď zapsat celý dotaz
    • nebo, pokud se jedná o výběr kódu a názvu, stačí napsat konec dotazu od názvu tabulky (viz níže) a první část dotazu "SELECT kod, nazev FROM" se doplní automaticky.
1 hodnota:
SELECT oprijmeni, ojmeno, omesto FROM osoba WHERE oobec = :obec     

-- *obec*W1*OBEC where KROK=3302*Bydliště - obec*535419

Popis parametrů:
-- *název parametru*datový typ*SQL dotaz*popis parametru*defaultní hodnota
1108.png

více hodnot:
SELECT oprijmeni, ojmeno, omesto FROM osoba WHERE oobec IN (::obec) 

-- *obec*W1M*OBEC where KROK=3302*Bydliště - obec*535419

1109.png


3) Seznam hodnot se vytvoří z definice parametru. Ze seznamu se vybere jedna nebo více hodnot (viz příklady u bodu 2).
  • na 2. místě W2, na 3 místě "#" a číslo výčtu hodnot (#1, #2 ....)
  • na dalších řádcích výčet dvojic KOD, HODNOTA, kde začátek je označen #číslem a značkou bol (begin of list – začátek seznamu), konec je označen #číslem a značkou eol (end of list - konec seznamu)
SELECT oprijmeni, ojmeno, omesto FROM osoba WHERE oobec = :obec

-- *obec*W2*#1*Bydliště – obec*535419
-- #1 bol
-- 535419*Mladá Boleslav
-- 535427*Bakov nad Jizerou
-- 545881*Jindřichův Hradec
-- #1 eol 

Popis parametrů:
-- *název parametru*datový typ*#číslo seznamu hodnot*popis parametru*defaultní hodnota
-- #číslo seznamu hodnot bol (bol = značka pro začátek seznamu)
-- kod1*nazev1
-- kod2*nazev2 ...
-- #číslo seznamu hodnot eol (eol = značka pro konec seznamu)
1110.png

Případy pro výběr více hodnot (W1M, W2M) nejdou bindovat. Parametr se v dotazu označí dvěma dvojtečkami a dá do příkazu IN () - viz příklad u bodu 2 - více hodnot.