Akella, спасибо за помощь. Проблема решилась несколько другим путем, вот так
| Код | CREATE PROCEDURE STOIM_ISSLED ( DATE_BEGIN DATE, DATE_END DATE) RETURNS ( DATE_PODACHI DATE, NAIM_OBORUD VARCHAR(100), VREM_RAB NUMERIC(15,1), STOIM_RAB NUMERIC(15,2), STOIM NUMERIC(15,2)) AS
declare variable l_stoim_rab numeric(15, 2); BEGIN stoim_rab = 0; for SELECT zayavka.date_podachi, oborudovanie.naimenovan_oborud, (zayavka.vrem_okonchan_rabot - zayavka.vrem_nachala_rabot)/24/173 as VREM_RAB, (zayavka.vrem_okonchan_rabot - zayavka.vrem_nachala_rabot)/24/173*(OBORUDOVANIE.STOIM_CHASA_RAB) as STOim, (zayavka.vrem_okonchan_rabot - zayavka.vrem_nachala_rabot)/24/173*(OBORUDOVANIE.STOIM_CHASA_RAB) as STOIM_RAB FROM oborudovanie INNER JOIN ZAYAVKA ON (oborudovanie.id_oborudovanie = ZAYAVKA.id_oborudovanie) where ( :date_begin < zayavka.date_podachi and zayavka.date_podachi < :date_end) INTO :date_podachi, :naim_oborud, :vrem_rab, :stoim, :l_stoim_rab DO begin stoim_rab = stoim_rab + l_stoim_rab; SUSPEND; end END
|
|