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

Неправильный результат в процедуре   Найти похожие ветки 

 
korvin ©   (2004-12-03 16:59) [0]

Проблема с входящим параметром. Смысл в том, чтобы сравнить введённую дату с полем OPLATA_DATA, но результат выдыёт совершенно дикий (неверно берёт значение даты). Если искомое значение подставить в скрипт процедуры "вручную" вместо OPLATA.OPLATA_DATA=DATA_FIRST сделать  OPLATA.OPLATA_DATA="01.12.2004" то всё работает как надо.
С хранимыми процедурами я новичёк ... подскажите, в чём мой прощёт?
Куски текста процедуры прилагаю:

ALTER PROCEDURE "P_OPLATA"
( "DATA_FIRST" DATE)

RETURNS
( "KLIENT_FULLNAME" VARCHAR(70),
 "KLIENT_KOD" VARCHAR(4),
 "OPLATA_SUM" NUMERIC(8, 2))
 
AS
begin
 for select KLIENT.KLIENT_FULLNAME,
        KLIENT.KLIENT_KOD,
        sum(OPLATA.OPLATA_SUMA)
     from KLIENT, OPLATA
     where (KLIENT.KLIENT_KOD=OPLATA.KLIENT_KOD)
          and (OPLATA.OPLATA_DATA=DATA_FIRST)
  group by KLIENT.KLIENT_FULLNAME, KLIENT.KLIENT_KOD
   into  :KLIENT_FULLNAME,
         :KLIENT_KOD,
         :OPLATA_SUM
   do suspend;
end


 
DSKalugin ©   (2004-12-03 18:05) [1]

and (OPLATA.OPLATA_DATA= тут двоеточие DATA_FIRST)
потому что параметры в запросах пишутся с двоеточием для отличия от названия полей.
Правильно так
and (OPLATA.OPLATA_DATA= : DATA_FIRST)

Это РАС
ДВА: проконтролируй использование двойных кавычек


 
korvin ©   (2004-12-03 18:16) [2]

Спасибо, с двоеточием действительно лучше :)
А насчёт кавычек - всё окей будет


 
Johnmen ©   (2004-12-03 20:28) [3]

А в чём ценность данной процедуры ?


 
DrPass ©   (2004-12-03 21:00) [4]

Вероятно, для самообразования


 
korvin ©   (2004-12-03 23:25) [5]

Я выложил только начальную часть процедуры. Вообще-то она выдаёт полный подсчитанный по каждому заказчику отчёт егооплаты всеми видами платежей, распределяя поле оплаты в базовой таблице по результирующим колонкам процедуры: Колонка оплаченной клиентом суммы по банку, колонка оплаченой суммы по кассе ...



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

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



Память: 0.46 MB
Время: 0.021 c
4-1100584362
paa
2004-11-16 08:52
2005.01.02
Узнать имя DLL которую загрузил мой процесс


14-1103096645
Holy
2004-12-15 10:44
2005.01.02
Дополнительные кнопки на клавиатуре


1-1103190060
Garry_c
2004-12-16 12:41
2005.01.02
Пропало верхнее меню в окне. Как восстановить?


1-1103383258
Ivolg
2004-12-18 18:20
2005.01.02
Текст


1-1103132948
JIurafsfd
2004-12-15 20:49
2005.01.02
Как добавить серию в Tchart?




   Наверх