| Název | Popis | Datový typ |
|---|---|---|
| ASelID | Char(10) | |
| AWithChilds | Char(1) | |
| ATreeTable | VarChar(30) | |
| AField | VarChar(50) | |
| AHideForOptimazation | Char(1) |
| Název | Popis | Datový typ |
|---|---|---|
| AResult | VarChar(8192) |
| Název | Popis | Třída |
|---|---|---|
| SYS$SQLTemplate1 | Pomocná stored procedura pro tvorbu dynamických dotazů - šablona pro připojení SELDAT tabulky do sekce FROM | Procedures |
| SYS$ConcatSelect | Pomocná stored procedura pro tvorbu dynamických dotazů typu "field in (select dotaz)" . Pokud je položek v poddotazu víc jak 100, vrátí dotaz ve formě "field in (select dotaz)", jinak poddotaz provede a vrátí ve formě "field in (hodnoty SQL dotazu)". | Procedures |
begin
if (:ASelID <> '') then begin
Select AResult from SYS$SQLTemplate1(:ASelID, :AField, :AHideForOptimazation, 'N') into :AResult;
--podrizene zaznamy
AResult = ' ( ' || AResult;
if (:AWithChilds in ('1', 'A')) then begin
Select AResult from SYS$CONCATSELECT('distinct TT.ID', 'SELDAT SLD join ' || :ATreeTable || ' TT on TT.Superior_ID = SLD.OBJ_ID where SLD.SEL_ID = ''' || :ASelID || '''') into :SQLConc;
if (:AHideForOptimazation in ('1', 'A')) then
AResult = AResult || ' or ' || :AField || ' ||'''' in (' || :SQLConc || ')';
else
AResult = AResult || ' or ' || :AField || ' in (' || :SQLConc || ')';
end
AResult = AResult || ' ) ';
end else
AResult = null;
suspend;
end;Generated by ABRA Software a.s. 27.10.2021 16:34:18