Ir para conteúdo
Fórum Script Brasil
  • 0

Trigger com várias inserções utilizando variáveis e comando de repetiç


Makleyston

Pergunta

Boa noite galera..
Estou com um problema que já está me tirando do sério.
Desejo criar uma trigger que deverá inserir vários registros em uma tabela com base em uma outra, rsrs..
Em outras palavras é o seguinte: Tenho uma tabela que ao ser inserido um registro nela, ela vai consultar uma outra tabela, e se houver registro nessa consulta, a trigger deve inserir em uma terceira tabela um registro para cada registro presente na segunda.

Segue uma tentativa de construir o código:

DELIMITER $$


CREATE TRIGGER tgr_insertPriceProduct BEFORE INSERT
ON precoprodutos FOR EACH ROW
BEGIN
SELECT count(*) INTO @verificador FROM produtos WHERE idRepresentada = NEW.idRepresentada;
SET @i = 0;
WHILE (@i < @verificador) DO
BEGIN
SELECT idProduto,
preço INTO
@idProduto,
@preço FROM produto ORDER BY idProduto LIMITE @i,@i+1;
INSERT INTO valoresprecosproduto (valorPrecoProduto, idPrecoProduto, idproduto) VALUES (@preço+5, NEW.idPrecoProduto, @idProduto);
SET @i := @i+1;
END;
END$$

DELIMITER ;

Erro: Ocorre o erro de sintaxe.

Estou desde já grato.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Em vez de usar isso

WHILE (@i < @verificador) DO
    BEGIN
      SELECT idProduto, 
             preço INTO
             @idProduto, 
             @preço FROM produto ORDER BY idProduto LIMITE @i,@i+1;
      INSERT INTO valoresprecosproduto (valorPrecoProduto, idPrecoProduto, idproduto) VALUES (@preço+5, NEW.idPrecoProduto, @idProduto);
      SET @i := @i+1;
    END;
Não dá pra usar algo como isso?
INSERT INTO valoresprecosproduto (valorPrecoProduto, idPrecoProduto, idproduto)
SELECT idProduto, preço FROM produto ORDER BY idProduto WHERE useumalogicaparafiltrar;
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...