/*
Gostei da dica da store function exclusao de JotaComm
Baseado nas mesma function incrementei algumas funcionalidades.
*/
DROP FUNCTION IF EXISTS public.exclusao(esquema_tabelax VARCHAR(255),
campox VARCHAR(255), idx INTEGER);
CREATE OR REPLACE FUNCTION public.exclusao(esquema_tabelax
VARCHAR(255), campox VARCHAR(255), idx INTEGER)
RETURNS BOOLEAN AS $$
DECLARE
ds_comando TEXT;
deletado BIGINT;
BEGIN
IF (esquema_tabelax IS NULL) THEN
RAISE EXCEPTION 'ESQUEMA TABELA COM VALOR NULO!'; -- caso o
parametro venha nulo
END IF;
IF (campox IS NULL) THEN
RAISE EXCEPTION 'CAMPO COM VALOR NULO!'; -- caso o parametro
venha nulo
END IF;
IF (idx IS NULL) THEN
RAISE EXCEPTION 'ID COM VALOR NULO!'; -- caso o parametro venha nulo
END IF;
ds_comando := 'DELETE FROM ' || esquema_tabelax || ' WHERE '
|| campox || '=' || idx;
EXECUTE ds_comando;
GET DIAGNOSTICS deletado = ROW_COUNT;
IF deletado > 0 THEN
RAISE NOTICE '%', ds_comando;
RAISE NOTICE 'Total de registro(s) deletado(s): %',deletado;
RETURN TRUE;
END IF;
RAISE NOTICE '%', ds_comando;
RAISE NOTICE 'Total de registro(s) deletado(s): %',deletado;
RAISE NOTICE 'O registro % não foi encontrado. NADA FOI
DELETADO!!.',idx;
RETURN FALSE;
END;
$$ LANGUAGE 'plpgsql' RETURNS NULL ON NULL INPUT
;
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral