在MySQL中使用存储过程

时间:2015-06-24 02:27:54

标签: mysql stored-procedures

我在MySQL中有一个天气数据库。我的数据库从arduino获取数据,但有时arduino有一些错误并在我的数据库中发送错误值。我想创建一个存储过程来拒绝此错误。我想在存储过程中使用if。温度< 20然后MySQL拒绝这些数据。可能吗?请用编码帮助我

这是我的表

CREATE TABLE `cuaca_maritim`.`weather_data` (
 `idweather` INT(10) NOT NULL,
 `temperature` DECIMAL(4,2) NOT NULL,
 `HUMID` DECIMAL(4,2) NOT NULL,
 `AIRPRESSURE` DECIMAL(6,2) NOT NULL,
 `WIND` DECIMAL(4,2) NOT NULL,
 PRIMARY KEY (`idweather`))
  ENGINE = InnoDB
 DEFAULT CHARACTER SET = utf8
 COLLATE = utf8_bin;

2 个答案:

答案 0 :(得分:0)

也许你只想要一个观点:

create view good_weather_data as
    select wd.*
    from weather_data
    where temperature >= 20;

我真的不明白为什么需要存储过程。您可能想要一个在加载时拒绝无效数据值的触发器。

答案 1 :(得分:0)

我认为您可以使用以下存储过程来完成您的工作。

>>> class Simple:
...   def fun(self):
...     pass
...
>>> dir(Simple)
['__doc__', '__module__', 'fun']
>>> s = Simple()
>>> dir(s)
['__doc__', '__module__', 'fun']
>>> hasattr(s, 'fun')
True

这里我只考虑你可以对其他参数做同样的温度