Входные параметры
Параметр | Тип | Описание |
---|---|---|
CROPID |
INTEGER |
|
HUMIDITYVALUE |
NUMERIC(2,2) |
|
DIRTVALUE |
NUMERIC(2,2) |
|
Выходные параметры
Параметр | Тип | Описание |
---|---|---|
HUMIDITYID |
INTEGER |
|
DIRTID |
INTEGER |
|
Описание
!!!(переделать) Преобразование парметров в числовые (сухое сырое и чистое .. сорное)
Определение
CREATE PROCEDURE QUALITY_SAMPER_TO_LAB(
CROPID INTEGER,
HUMIDITYVALUE NUMERIC(2,2),
DIRTVALUE NUMERIC(2,2))
RETURNS (
HUMIDITYID INTEGER,
DIRTID INTEGER)
AS
begin
-- влажность
select
case
-- кукуруза, пшеница, рожь, третикале, ячмень
WHEN :CROPID in (4, 1, 3, 71, 2) THEN
CASE
WHEN :HUMIDITYVALUE <= 14 THEN 0
WHEN (:HUMIDITYVALUE <= 15.5) THEN 1
WHEN (:HUMIDITYVALUE <= 17.0) THEN 2
WHEN :HUMIDITYVALUE > 17.0 THEN 3
END
-- овес
WHEN :CROPID in (48) THEN
CASE
WHEN :HUMIDITYVALUE <= 13.5 THEN 0
WHEN (:HUMIDITYVALUE <= 15.5) THEN 1
WHEN (:HUMIDITYVALUE <= 17.0) THEN 2
WHEN :HUMIDITYVALUE > 17.0 THEN 3
END
-- подсолнечник
WHEN :CROPID in (48) THEN
CASE
WHEN :HUMIDITYVALUE <= 7.0 THEN 0
WHEN (:HUMIDITYVALUE <= 8.0) THEN 1
WHEN (:HUMIDITYVALUE <= 9.0) THEN 2
WHEN :HUMIDITYVALUE > 9.0 THEN 3
END
end
from RDB$DATABASE
INTO :HumidityID;
-- сорная
select
case
WHEN :CROPID in (4, 48, 1) THEN
-- кукуруза, овесб пшеница
CASE
WHEN :DIRTVALUE <= 1.0 THEN 0
WHEN (:DIRTVALUE <= 3.0) THEN 1
WHEN :DIRTVALUE > 3.0 THEN 2
END
-- рожь, третикале
WHEN :CROPID in (3, 71) THEN
CASE
WHEN :DIRTVALUE <= 1.0 THEN 0
WHEN (:DIRTVALUE <= 2.0) THEN 1
WHEN :DIRTVALUE > 2.0 THEN 2
END
--ячмень
WHEN :CROPID in (2) THEN
CASE
WHEN :DIRTVALUE <= 2.0 THEN 0
WHEN (:DIRTVALUE <= 4.0) THEN 1
WHEN :DIRTVALUE > 4.0 THEN 2
END
-- подсолнечник
WHEN :CROPID in (37) THEN
CASE
WHEN :DIRTVALUE <= 1.0 THEN 0
WHEN (:DIRTVALUE <= 5.0) THEN 1
WHEN :DIRTVALUE > 5.0 THEN 2
END
end
from RDB$DATABASE
INTO :DirtID;
suspend;
end