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@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a