Fórum Como implementar BD MySQL #589973
19/12/2017
0
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
)
ENDPoderiam 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
Curtir tópico
+ 0
Responder
Posts
04/01/2018
Gabriel
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;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)