Salve galera!
Tou com a necessidade de criar uma trigger para verificar de a quantidade de jogos numa tabela é menor ou igual a 6. Se for maior que 6, o insert não deve ser efetuado.
Estou tentando criar a seguinte trigger para realizar essa tarefa:
CREATE FUNCTION verifica_6_partidas() RETURNS trigger AS $$
BEGIN
SELECT COUNT(*) AS TOTAL_JOGOS_ANDAMENTO FROM "Partida" WHERE "Fim" IS NULL AND ("Jogador1" = NEW.Jogador1 OR "Jogador2" = NEW.Jogador2)
IF ("TOTAL_JOGOS_ANDAMENTO" = 6) THEN
RAISE EXCEPTION 'O jogador possui 6 partidas em andamento. Não foi possível prosseguir esta operação!';
END IF;
END;
$$ LANGUAGE internal
CREATE TRIGGER "trigger_verifica_6_partidas" BEFORE INSERT
ON "public"."Partida" FOR EACH STATEMENT
EXECUTE PROCEDURE "verifica_6_partidas"();
A mensagem de erro que é retornada é a seguinte:
ERROR: there is no built-in function named "
SELECT COUNT(*) AS TOTAL_JOGOS_ANDAMENTO FROM "Partida" WHERE "Fim" IS NULL AND ("Jogador1" = NEW.Jogador1 OR "Jogador2" = NEW.Jogador2)
IF ("TOTAL_JOGOS_ANDAMENTO" = 6) THEN
RAISE EXCEPTION 'O jogador possui 6 partidas em andamento. Não foi possível prosseguir esta operação!';Alguem ai sabe o que pode estar acontecendo? Onde estou errando ?
--
Atenciosamente,
Leonardo Barbosa
_______________________________________________
pgbr-geral mailing list
pgbr-geral@...
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral