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

Хранимая процедура   Найти похожие ветки 

 
Dush   (2004-11-19 14:04) [0]

Доброго времени суток!
Создал такую процедуру:
CREATE PROCEDURE INF_INST
RETURNS (
 NAME_GROUP VARCHAR(20),
 SUM_NACH_INST NUMERIC(9, 2),
 SUM_OPL_INST NUMERIC(9, 2)
)
AS
Declare variable SN NUMERIC(9, 2);
Declare variable SO NUMERIC(9, 2);
Declare variable ID_St integer;
Declare variable ID_Gr integer;
BEGIN
 for select id_group, Name from Groups Order by ID_Group into :ID_Gr, :Name_Group
 do
 begin
   Sum_Nach_Inst=0;
   Sum_Opl_Inst=0;
   for select id_stud from stud where id_group = :ID_Gr into :ID_St
   do
   begin
     select Sum(Sum_Nach_Stud), Sum(Sum_Opl_Stud) FROM Nach_Stud where ID_Stud=:ID_St into :SN, :SO;
     Sum_Nach_Inst=:Sum_Nach_Inst+:SN;
     Sum_Opl_Inst=:Sum_Opl_Inst+:SO;
   end
   suspend;
 end
END;

Она должна выбирать имя группы, начисления и оплаты по группам и возвращать в основную программу. Но в программе я вижу значения только 2 первых параметров (NAME_GROUP и SUM_NACH_INST). Может кто знает в чем дело?


 
Johnmen ©   (2004-11-19 14:12) [1]

Очки запотели ?


 
HSolo ©   (2004-11-19 14:14) [2]

Ошибка в 17-й строке (с) :)
Как смОтрите?


 
Dush   (2004-11-19 14:46) [3]

2Johnmen
 раз 30 протирал - не помогло
2HSolo
 и где там ошибка?


 
Johnmen ©   (2004-11-19 14:53) [4]

>Dush   (19.11.04 14:46) [3]
>2Johnmen
> раз 30 протирал - не помогло

Это ошибка ! Надо 333 раза.
:)


 
HSolo ©   (2004-11-19 15:12) [5]

Процедура выглядит нормально. Значит - не то (или не там) смотрите. А где ошибка - не знаю, мне Вашего экрана не видно :)


 
Dush   (2004-11-19 15:19) [6]

ну и на том спасибо :)


 
stud ©   (2004-11-19 16:01) [7]


>CREATE PROCEDURE INF_INST
>RETURNS (
> NAME_GROUP VARCHAR(20),
> SUM_NACH_INST NUMERIC(9, 2),
> SUM_OPL_INST NUMERIC(9, 2)
>)
>AS
>Declare variable SN NUMERIC(9, 2);
>Declare variable SO NUMERIC(9, 2);
>Declare variable ID_St integer;
>Declare variable ID_Gr integer;
>BEGIN
>  for select id_group, Name from Groups Order by
>ID_Group into :ID_Gr, :Name_Group
> do
> begin
>   Sum_Nach_Inst=0;
>   Sum_Opl_Inst=0;
>    for select id_stud from stud where id_group =
>:ID_Gr into :ID_St
>   do
>   begin
>      select Sum(Sum_Nach_Stud), Sum(Sum_Opl_Stud) FROM
>Nach_Stud where ID_Stud=:ID_St into :SN, :SO;
>     Sum_Nach_Inst=:Sum_Nach_Inst+:SN;
>     Sum_Opl_Inst=:Sum_Opl_Inst+:SO;
     suspend;
>   end
/*   suspend; */
> end
> END;


 
Desdechado ©   (2004-11-19 16:02) [8]

Sum_Nach_Inst=:Sum_Nach_Inst+:SN;
Sum_Opl_Inst=:Sum_Opl_Inst+:SO;

двоеточия поубирай


 
Johnmen ©   (2004-11-21 02:33) [9]

>Desdechado ©  (19.11.04 16:02) [8]

А смысл ?



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

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



Память: 0.47 MB
Время: -0.976 c
4-1099593479
Ильичев С.А.
2004-11-04 21:37
2004.12.19
крах, перезапуск Explorer


1-1102326103
jiran
2004-12-06 12:41
2004.12.19
Помогите перевести с с++ на Delphi вызов функции из dll !


4-1099583763
heady
2004-11-04 18:56
2004.12.19
И снова выбор каталога


3-1100370184
integer
2004-11-13 21:23
2004.12.19
как получить разницу двух таблиц


8-1095532400
Sulimxar
2004-09-18 22:33
2004.12.19
Помогите понять Битрейт




   Наверх