Como implementar BD MySQL
Olá pessoal, blz?!
Estou com uma dificuldade de implementar um banco MySQL que possui duas tabelas: uma chamada 'entrada' (Não A_I, apenas sofre UPDATE) e uma outra que guarda os 'históricos' a cada 5 minutos. Minha aplicação envia a cada 1 min para tabela.
Tenho uma coluna chamada 'gatilho' que quando recebe o valor diferente de 0 (zero) a trigger copia tudo que está na tabela 'entrada' para a tabela 'historico' e muda o valor da tabela 'entrada' para 0 (zero) .
Confira o código a seguir:
Poderiam me ajuda a resolver essa questão, por favor?
Essa dúvida foi gerada a partir de um comentário no artigo Implementando controle de estoque no MySQL com triggers e procedures
Estou com uma dificuldade de implementar um banco MySQL que possui duas tabelas: uma chamada 'entrada' (Não A_I, apenas sofre UPDATE) e uma outra que guarda os 'históricos' a cada 5 minutos. Minha aplicação envia a cada 1 min para tabela.
Tenho uma coluna chamada 'gatilho' que quando recebe o valor diferente de 0 (zero) a trigger copia tudo que está na tabela 'entrada' para a tabela 'historico' e muda o valor da tabela 'entrada' para 0 (zero) .
Confira o código a seguir:
CREATE TRIGGER insertHistorico ON markers FOR INSERT AS BEGIN DECLRE @gatilho int, @nome VARCHAR(60), @address VARCHAR(80), @lat FLOAT(10.6), @lgt FLOAT(10.6), @type VARCHAR(30), @mac VARCHAR(12), @evotranspiracao DECIMAL, @chuvaMilimetro DECIMAL, @irradiacaoSolar DECIMAL, @temperatura DECIMAL, @umidade DECIMAL, @pressao DECIMAL, @velocidade DECIMAL, @direcao DECIMAL; SELECT @gatilho = gatilho, @nome = nome, @address = address, @lat = lat, @lgt = lgt, @type = type, @mac = mac, @evotranspiracao = evotranspiracao, @chuvaMilimetro = chuvaMilimetro, @irradiacaoSolar = irradiacaoSolar, @temperatura = temperatura, @umidade = umidade, @pressao = pressao, @velocidade = velocidade, @direcao = direcao; FROM INSERTED INSERT INTO tbl_historico ( nome, address, lat, lgt, type, mac, evotranspiracao, chuvaMilimetro, irradiacaoSolar, temperatura, umidade, pressao, velocidade, direcao ) VALUES ( @nome, @address, @lat, @lgt, @type, @mac, @evotranspiracao, @chuvaMilimetro, @irradiacaoSolar, @temperatura, @umidade, @pressao, @velocidade, @direcao ) END
Poderiam me ajuda a resolver essa questão, por favor?
Essa dúvida foi gerada a partir de um comentário no artigo Implementando controle de estoque no MySQL com triggers e procedures
Maria Barros
Curtidas 0
Respostas
Gabriel
19/12/2017
Bom dia,
Porque toda vez que houver uma entrada não salva direto na tabela histórico?
Se as colunas nas tabelas são correspondentes é possível fazer um INSERT com resultado de um SELECT:
Porque toda vez que houver uma entrada não salva direto na tabela histórico?
Se as colunas nas tabelas são correspondentes é possível fazer um INSERT com resultado de um SELECT:
INSERT INTO table2 (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM table1 WHERE condition;
GOSTEI 0