Witajcie,
Wielokrotnie używałem parametrów tablicowych w postgresie ale pierwszy raz przyszło mi przekazać je przez FireDAC w delphi.
Przykład funkcji w postgresql 9.6:
CREATE OR REPLACE FUNCTION test.farrtest (
aid integer,
aarrtest integer []
)
RETURNS void AS
$body$
declare
vEnums integer;
begin
foreach vEnums in ARRAY aarrtest loop
insert into test.ttest(id) values (vEnums);
end loop;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
PARALLEL UNSAFE
COST 100;
delphi:
ADS.Params[0].DataType := vrecord.id.DataType;
ADS.Params[0].Value := vrecord.id.value;
ADS.Params[1].DataType := ?;
for i := 0 to sl.count - 1 do
ADS.Params[1].Values[i].Value := i;
Próbowałem również z arraytype, arraysize i nic ... ktoś wie jak to poprawnie ustawić?