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.