Ecco la mia dichiarazione di funzione e parte del corpo:PL/pgSQL SELEZIONA in un array
CREATE OR REPLACE FUNCTION access_update()
RETURNS void AS $$
DECLARE team_ids bigint[];
BEGIN
SELECT INTO team_ids "team_id" FROM "tmp_team_list";
UPDATE "team_prsnl"
SET "updt_dt_tm" = NOW(), "last_access_dt_tm" = NOW()
WHERE "team_id" IN team_ids;
END; $$ LANGUAGE plpgsql;
voglio team_ids
essere un array di int che posso poi usare nella dichiarazione UPDATE
. Questa funzione dammi errori come questo:
psql:functions.sql:62: ERROR: syntax error at or near "team_ids"
LINE 13: AND "team_id" IN team_ids;
Penso che tu abbia sbagliato l'ordine nella selezione. Non dovrebbe essere così: 'SELECT team_id INTO team_ids FROM tmp_team_list;' –