Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизParsing error в хранимой процедуре Найти похожие ветки
← →
Sirruf © (2004-04-19 18:35) [0]Создал хранимую процедуру
CREATE PROCEDURE GETCOMMONBALANCE (
WHOUSEID INTEGER)
RETURNS (
WARENAME VARCHAR(20),
BALANCE FLOAT,
WAREUNIT VARCHAR(7))
AS
DECLARE VARIABLE WAREID INTEGER;
begin
for select distinct WAREID from Operations
where WHOUSEID = :WhouseID
into :WareID
do
begin
select NAME, UNIT from Goods
where ID = :WareID
into :WareName, :WareUnit;
execute procedure GETBALANCE(:WhouseID, :WareID)
returning_values :Balance;
if not (:Balance = 0) then (!!!)
suspend;
end
end
GETBALANCE - это другая хранимая процедура, отлаженная и правильно работающая, возвращающая параметр типа Float.
При компиляции процедуры GETCOMMONBALANCE в строке (!!!) вылетает parsing error. Если закомментировать эту строку, то компиляция проходит успешно. Не могу понять, чем ему проверка на равенство нулю не подошла? :(
← →
Sergey Masloff (2004-04-19 22:14) [1]Sirruf © (19.04.04 18:35)
в IbExpert небось?
if (условие) then
xxx;
ВСЕ условие должно быть в скобках
← →
Digitman © (2004-04-20 08:29) [2]if (not (Balance = 0)) then
← →
Sergey_Masloff (2004-04-20 09:52) [3]Digitman © (20.04.04 08:29) [2]
>if (not (Balance = 0)) then
Ну я именно это и говорю ;-)
Дело в другом. Сейчас проверил через isql - точно требует общих скобок после if (FB 1). Я почему-то думал это IBExpert парсит что-то там (да наверное парсит потому что сообщение об ошибке не interbase-овское). Потому что у меня стойкое впечетление что IB4 это позволяла и IB5 тоже. Впрочем, не уверен так как у меня привычка к таким скобкам (после if) на уровне рефлексов ;-)
← →
Соловьев © (2004-04-20 10:03) [4]
> select NAME, UNIT from Goods
> where ID = :WareID
опасный код
← →
Sirruf © (2004-04-20 11:51) [5]Фух, ну и коварный же зверек этот IB Expert. Special thanks to Sergey Masloff и Digitman. :))
А чем опасен код
> select NAME, UNIT from Goods
> where ID = :WareID ?
← →
Соловьев © (2004-04-20 12:00) [6]
> Фух, ну и коварный же зверек этот IB Expert.
это разработчики ФБ намудрили :)
> А чем опасен код
тем что может вернуть несколько записей
← →
Sirruf © (2004-04-20 13:08) [7]Не может, т.к. ID - primary key
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.029 c