› Foros › PC › Software libre
SELECT temperatura
FROM tabla
WHERE estado='precalentamiento'
aleix_1379 escribió:Hola, no he trabajado con bases de datos usando información de una maquina pero has pensado en usar triggers http://msdn.microsoft.com/es-es/library/ms189799.aspx
PD: Creo que esto iría a PC -> General, pues no creo que SQL Server sea software libre.
Saludos.
jorcoval escribió:aleix_1379 escribió:Hola, no he trabajado con bases de datos usando información de una maquina pero has pensado en usar triggers http://msdn.microsoft.com/es-es/library/ms189799.aspx
PD: Creo que esto iría a PC -> General, pues no creo que SQL Server sea software libre.
Saludos.
Mm un trigger para crear 2 registros en el cambio de estado? Pues es una buena solución, sí.
El lunes lo probare.
PD: no creo que SQL server sea libre pero tampoco es pregunta específica de SQL...
declare @ultima_etapa varchar(50),@penultima_etapa varchar(50), @hora_max datetime
declare @peso_silo numeric(18,0),@peso_criba numeric(18,0), @peso_filtro_ciclonico numeric(18,0), @caudal float,
@lote nchar(30),@batch numeric(18,0)
SELECT @ultima_etapa=subetapa,@hora_max=hora,@peso_silo=peso_silo,@peso_criba=peso_criba,@peso_filtro_ciclonico=peso_filtro_ciclonico,@caudal=caudal,@lote=lote,@batch=batch FROM dbo.carga_MP WHERE subetapa IN
(SELECT TOP 1 subetapa FROM dbo.carga_MP ORDER BY hora DESC)
SELECT @penultima_etapa=subetapa FROM dbo.carga_MP WHERE subetapa IN
(SELECT TOP 1 subetapa FROM dbo.carga_MP WHERE hora<@hora_max ORDER BY hora DESC)
IF (@ultima_etapa!=@penultima_etapa)
begin
INSERT INTO dbo.carga_MP (hora,subetapa,peso_silo,peso_criba,peso_filtro_ciclonico,caudal,lote,batch)
VALUES(DATEADD(second,-1,@hora_max),@penultima_etapa,@peso_silo,@peso_criba,@peso_filtro_ciclonico,@caudal,@lote,@batch)
end