Форум: "Базы";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c