Mysql查询到存储过程

问题描述

我可以访问具有以下值的数据表 (MysqL 8) 视图:

Values DB

现在我尝试写一个mySQL查询,用最后一个值填充Null值,因为我们的可视化工具不能使用空值,图中的线会消失。

SELECT UTCTIME,case when Flammtemperatur1 is NULL then
@vorheriger_wert_Flammtemperatur1
else
@vorheriger_wert_Flammtemperatur1 := Flammtemperatur1
end as Flammtemperatur_1,case when Flammtemperatur2 is NULL then
@vorheriger_wert_Flammtemperatur2
else
@vorheriger_wert_Flammtemperatur2 := Flammtemperatur2
end as Flammtemperatur_2,case when Rauchgasventilator is NULL then
@vorheriger_wert_Rauchgasventilator
else
@vorheriger_wert_Rauchgasventilator := Rauchgasventilator
end as Rauchgasventilator_,case when Rezirkulation is NULL then
@vorheriger_wert_Rezirkulation
else
@vorheriger_wert_Rezirkulation := Rezirkulation
end as FRezirkulation_
FROM pivot_test
order by utctime asc

这很好用,但我需要将它保存在视图或存储过程中,以便我们的工具可以访问它。由于会话变量,视图是不可能的。 有人可以帮我为我的问题创建一个存储过程吗?我以前从未写过 SP。

谢谢!

Result

解决方法

创建程序XXXXXName @Flammtemperatur1 DECIMAL (3,2),@Flammtemperatur2 DECIMAL (3,@Rauchgasventilator DECIMAL (3,@Rezirkulation DECIMAL (3,2) 作为 选择UTC时间, 当 Flammtemperatur1 为 NULL 时的情况 @vorheriger_wert_Flammtemperatur1 别的 @vorheriger_wert_Flammtemperatur1 := Flammtemperatur1 以 Flammtemperatur_1 结尾, 当 Flammtemperatur2 为 NULL 时的情况 @vorheriger_wert_Flammtemperatur2 别的 @vorheriger_wert_Flammtemperatur2 := Flammtemperatur2 以 Flammtemperatur_2 结尾, 如果 Rauchgasventilator 为 NULL,则 @vorheriger_wert_Rauchgasventilator 别的 @vorheriger_wert_Rauchgasventilator := Rauchgasventilator 以 Rauchgasventilator_ 结尾, 如果 Rezirkulation 为 NULL 则 @vorheriger_wert_Rezirkulation 别的 @vorheriger_wert_Rezirkulation := Rezirkulation 以 FRezirkulation_ 结尾 从pivot_test 按 utctime asc 排序