Procedura-SYS$SQLTemplate3

Popis:
Pomocná stored procedura pro tvorbu dynamických dotazů - šablona pro připojení tabulky firem do hlavní sekce FROM

Parametry:

NázevPopisDatový typ
ASelIDChar(10)
AFieldVarChar(50)
AHideForOptimazationChar(1)

Návratové hodnoty:

NázevPopisDatový typ
AResultVarChar(8192)

Závislosti:

NázevPopisTřída
SYS$ConcatSelectPomocná 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

Tělo:

begin
  if (:ASelID <> '') then begin
		AResult = ' ( ';
		Select AResult from SYS$CONCATSELECT('OBJ_ID', 'SELDAT  where SEL_ID = ''' || :ASelID || '''') into :SQLConc;
		if (:AHideForOptimazation in ('1', 'A')) then
				AResult = AResult || :AField || ' || '''' in (' || :SQLConc || ')';
		else
			AResult = AResult || :AField || ' in (' || :SQLConc || ')';
		--ID predchudcu
		Select AResult from SYS$CONCATSELECT('distinct F.ID', 'SELDAT SLD join Firms F on F.Firm_ID = SLD.OBJ_ID where SLD.SEL_ID = ''' || :ASelID || ''' and F.Hidden = ''N''') into :SQLConc;
		if (:AHideForOptimazation in ('1', 'A')) then
			AResult = AResult || ' or ' || :AField || ' || '''' in (' || :SQLConc || ')';
		else
			AResult = AResult || ' or ' || :AField || ' in (' || :SQLConc || ')';
		AResult = AResult || ' ) ';
  end else
   AResult = null;
  suspend;
end;

Generated by ABRA Software a.s. 27.10.2021 16:34:18