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

Delete не любит длинное условие   Найти похожие ветки 

← →
Basic ©   (2003-05-24 02:38) [0]

при создании процедуры через IBQuery парсер выдает ошибку
bad parameter number на строку DELETE, а SELECT проходит нормально, условия у них одинаковые
SELECT CNTSLD FROM CUR_SLD
WHERE CDCUSTOM = :CD_CUSTOM AND CDPOSOB = :CD_POSOB
INTO NAL_KOL_VO;
DELETE FROM CUR_SLD
WHERE CDCUSTOM = :CD_CUSTOM AND CDPOSOB = :CD_POSOB;
причем если ставлю просто
WHERE CDCUSTOM = :CD_CUSTOM
или
WHERE CDPOSOB = :CD_POSOB
то пропускает без ошибки, как это лечить


← →
Нуу   (2003-05-24 03:22) [1]

не работал в IBQuery, но всегда пишу:
WHERE (SomeField1 = :SomeParameter1) AND (SomeField2 = SomeParameter2)
Кстати, скобки стараюсь употреблять везде, кроме нуу уж очень очевидных случаев.


← →
Basic ©   (2003-05-24 03:34) [2]

>Нуу (24.05.03 03:22)
такое уже делал, тот же эффект
Еще варианты есть???


← →
Alexandr ©   (2003-05-24 08:25) [3]

бред какой-то.
напиши конкретно запрос. А то намешал все в кучу. и непонятно, чего ты в IBQuery пишешь...


← →
Basic ©   (2003-05-24 08:51) [4]

полностью будет
CREATE PROCEDURE SP_ADD_CUR_SLD
(CD_CUSTOM INTEGER,CD_POSOB CHAR(20),KOL_VO INTEGER)
AS
DECLARE VARIABLE NAL_KOL_VO INTEGER;
BEGIN
SELECT CNTSLD FROM CUR_SLD
WHERE CDCUSTOM = :CD_CUSTOM AND CDPOSOB = :CD_POSOB
INTO NAL_KOL_VO;
IF (:NAL_KOL_VO <> 0) THEN
IF (:NAL_KOL_VO + :KOL_VO = 0 ) THEN
DELETE FROM CUR_SLD
WHERE CDCUSTOM = :CD_CUSTOM AND CDPOSOB = :CD_POSOB;
ELSE
UPDATE CUR_SLD SET CNTSLD = CNTSLD + :KOL_VO
WHERE CDCUSTOM = :CD_CUSTOM AND CDPOSOB = :CD_POSOB;
ELSE
INSERT INTO CUR_SLD (CDCUSTOM, CDPOSOB,CNTSLD)
VALUES (:CD_CUSTOM,:CD_POSOB,:KOL_VO);
END


← →
Alexandr ©   (2003-05-24 09:25) [5]

отключи paramCheck вообще у IBQuery


← →
Basic ©   (2003-05-25 17:26) [6]

> Alexandr © (24.05.03 09:25)
а ведь работает.
Спасибо


← →
Alexandr ©   (2003-05-26 06:39) [7]

а то...ж



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

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



Память: 0.46 MB
Время: 0.008 c
1-50397
Sergey26
2003-06-04 13:21
2003.06.16
Мастера, подскажите, как реализовано следующее:


14-50476
DiamondShark
2003-05-30 14:28
2003.06.16
Нужен козырный снимок акулы


1-50290
Voyager
2003-06-03 16:36
2003.06.16
Подскажите как усыпить процес


1-50347
Rulya
2003-06-03 04:38
2003.06.16
Гнератор случайных чисел


1-50338
vlv
2003-06-03 15:12
2003.06.16
Как вычислить разность двух TDateTime в минутах?




   Наверх