Použítí údaje o uživateli v parametrizovaném dotazu
IS STUDIUM » SQL Vault » Použítí údaje o uživateli v parametrizovaném dotazu
Do definice parametru pro SQL Vault je možno vložit hodnoty odvozené z údajů o zalogované osobě.
- Hodnoty těchto parametrů jsou za běhu neměnitelné.
- Editační pole takového parametru je pouze pro čtení a je podbarvené šedou barvou.
- Např. pro použití OIDENTu zalogované osoby v SQL dotazu se použije parametr definovaný takto:
SELECT * from osobauziv where OIDENT = :kdo_jsem -- *kdo_jsem*S**Já*#MUJOIDENT
- v části "datový typ" (S) se zadá S - datový typ string. S hodnotami se pracuje pouze jako se stringy, protože kódy mají pevnou šířku zleva doplněnou nulami.
- v části "defaultní hodnota" (#MUJOIDENT) se na prvním místě použije znak #, který značí, že se jedná o parametr, jehož hodnotu uživatel nemůže měnit a následuje klíčové slovo, které upřesňuje konkrétní hodnotu.
- V této chvíli lze použít tato klíčová slova:
- #MUJOIDENT - oident zalogovaného uživatele;
- #MOJEFAK - kód fakulty, za kterou uživatel právě pracuje;
- #MUJRID - číslo role, kterou si uživatel zvolil pro svou práci;
- #XID - id přiřazení role, kterou si uživatel zvolil pro svou práci:
- pro volání z webu – XID z tabulky XXWEB,
- pro volání z EXE – záporně vzaté IDXX z tabulky XX;
- #MUJUCIT - kód učitele z role;
- pro uživatele EXE aplikací (dále jen "EXE") se jedná o kód z číselníku ZAM dohledaný na základě hodnot #MOJEFAK a #MUJOIDENT;
- pokud se v EXE žádný kód nedohledá, hodnota se naplní prázdným řetězcem;
- #REFERENT - kód referenta z použité role;
- pokud se v EXE nejedná o referentskou roli (tj. kód referenta neexistuje), hodnota se naplní prázdným řetězcem.