Para definir um gatilho que assegure que um participante só pode ter no máximo 10 presentes e no mínimo 1 presente em sua lista de presentes, você pode utilizar a seguinte sintaxe em SQL: CREATE TRIGGER trigger_nome BEFORE INSERT ON tabela_presentes FOR EACH ROW BEGIN IF (SELECT COUNT(*) FROM tabela_presentes WHERE id_participante = NEW.id_participante) >= 10 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'O participante já possui 10 presentes em sua lista.'; ELSEIF (SELECT COUNT(*) FROM tabela_presentes WHERE id_participante = NEW.id_participante) < 1 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'O participante precisa ter pelo menos 1 presente em sua lista.'; END IF; END; Nesse exemplo, "trigger_nome" é o nome que você deseja dar ao gatilho, "tabela_presentes" é a tabela que armazena os presentes, "id_participante" é o identificador do participante na tabela e "NEW.id_participante" é o identificador do participante que está sendo inserido na tabela. O gatilho verifica se o participante já possui 10 presentes em sua lista ou se não possui nenhum presente, e emite uma mensagem de erro caso alguma dessas condições seja verdadeira.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar