Вниз
Скачать: CL | DM;

Проблема с условием в хранимой процедуре   Найти похожие ветки 

← →
Gennadiy ©   (2004-05-11 15:30) [0]

Увыжыемые мастера!!!
У меня есть вот такая процедура:
CREATE PROCEDURE PR_NEWOSTATSKLAD (
   I_STORES INTEGER,
   I_ARTICULS DECIMAL(18,0))
RETURNS (
   O_PRICE_ARENDA NUMERIC(15,2),
   O_PRICE_TRANSPORT NUMERIC(15,2),
   O_PRICE_PRIHOD NUMERIC(15,2),
   O_KOLVO_KG NUMERIC(15,3),
AS
begin
If ((:i_stores is null) and (:i_articuls is null))  then
   begin
   for select
    g.articul_id ARTICUL_ID, a.name, g.store_id STORE_ID, stor.name,
(select sum(goods.ue) from goods where (goods.articul_id=g.articul_id)  KOLVO__KG,
           from stores stor, goods g, articuls a
           where g.articul_id=a.id and g.store_id=stor.id
           group by g.articul_id, g.store_id,a.name, stor.name
           INTO
               :o_articul_id,
               :o_articul_name,
               :o_store_id,
               :o_store_name,
               :o_kolvo_kg
           do
 suspend;
 end
//
Так вот проблема в строке
(select sum(goods.ue) from goods where (goods.articul_id=g.articul_id) KOLVO_KG когда выполняется этот запрос то подсчитывается общее количество товара, но мне надо чтобы в этом запросе значения ноль не выводились т.е. что то типа вот этого условия (select sum(goods.ue) from goods where (goods.articul_id=g.articul_id)<>0, но такое условие очень сильно замедляет выполнение процедуры. Как правильно мне добавить это условие.


← →
Johnmen ©   (2004-05-11 15:38) [1]

if (KOLVO__KG<>0) then suspend;


← →
Johnmen ©   (2004-05-11 15:38) [2]

if (o_kolvo_kg<>0) then suspend;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
6-1081921669
smily
2004-04-14 09:47
2004.05.30
Как узнать имя пользователя?


14-1083889805
Думкин
2004-05-07 04:30
2004.05.30
С днем рождения! 7 мая


14-1084345964
Kerk
2004-05-12 11:12
2004.05.30
Команда


4-1082454552
Артём
2004-04-20 13:49
2004.05.30
Очищение корзины?


14-1083774019
RealRascal
2004-05-05 20:20
2004.05.30
Геометрия




   Наверх