Beispiel: Wenn ich 1,2,3 Params an gespeicherte Prozedur mit IDxyz gesendet haben, dann hat Tabelle 1, 2,3,4,5 IDs, dann 4,5 sollte aus der Tabelle gelöscht werden.Erstellen Sie gespeicherte Prozedur (int [] als param), die vorhandene Datensätze in der Tabelle löscht, wenn keine Übereinstimmung im Array int
CREATE OR REPLACE FUNCTION example_array_input(INT[]) RETURNS SETOF ids AS
$BODY$
DECLARE
in_clause ALIAS FOR $1;
clause TEXT;
rec RECORD;
BEGIN
FOR rec IN SELECT id FROM ids WHERE id = ANY(in_clause)
LOOP
RETURN NEXT rec;
END LOOP;
-- final return
RETURN;
END
$BODY$ language plpgsql;
ex: SELECT * FROM example_array_input('{1,2,4,5,6}'::INT[]);
wenn vorhandene Tabelle hat 1,2,3,4,5,6,7,8,9. dann sollte es 7,8,9 aus dieser Tabelle löschen, da diese nicht im Eingabe-Array vorhanden sind