Во-первых, я предполагаю, что поле :R_ID_1_W_CON
является числовым, не так ли?Ваша проблема может быть связана с нулевыми значениями, поэтому лучше использовать функцию nvl()
.Кстати, исключения могут возникать из-за операторов select
с предложением into
, поэтому нам нужно их обработать.Итак, рассмотрим использование ниже:
DECLARE
REEL_W NUMBER;
BEGIN
SELECT nvl(WEIGHT,0)-nvl(:R_ID_1_W_CON,0)
INTO REEL_W
FROM REELS_TABLE
WHERE R_ID = :R_ID_1_PLAIN;
EXCEPTION WHEN NO_DATA_FOUND THEN REEL_W := 0;
END;