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