trigger atualizar coluna da mesma tabela em PostgreSQL
Olá pessoal boa tarde, estou tentando criar uma trigger para atualizar uma coluna da mesma tabela. Após inserir ou atualizar a tabela, a coluna irá receber o valor de outra coluna, mas em MD5.
CREATE OR REPLACE FUNCTION setHash() RETURNS TRIGGER AS $hashCPF$
BEGIN
UPDATE tb_teste SET cpf_cnpj_hash = md5(NEW.cpf_cnpj::Text) WHERE cpf_cnpj = NEW.cpf_cnpj;
RETURN new;
END;
$hashCPF$ language plpgsql;
CREATE TRIGGER hashCPF AFTER INSERT OR UPDATE ON tb_teste
FOR EACH ROW EXECUTE PROCEDURE setHash();
só que na hora de inserir os dados na tabela apresenta o seguinte erro:
ERROR: stack depth limit exceeded
HINT: Increase the configuration parameter "max_stack_depth" (currently 2048kB), after ensuring the platform's stack depth limit is adequate.
CONTEXT: SQL statement "UPDATE tb_teste SET cpf_cnpj_hash = md5(NEW.cpf_cnpj::Text) WHERE cpf_cnpj = NEW.cpf_cnpj"
PL/pgSQL function sethash() line 5 at SQL statement
SQL statement "UPDATE tb_teste SET cpf_cnpj_hash = md5(NEW.cpf_cnpj::Text) WHERE cpf_cnpj = NEW.cpf_cnpj"
Não sei o que está acontecendo, alguém pode dar uma luz.
Discussão (1)
Carregando comentários...