|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Странные баги в FB
Здравствуйте!
Возникло не сколько странных проблем с СУБД/БД никак не могу решить, может сможете что-то подсказать... IBExpert + FB2.5 1. Не воспринимает CASE, ругается на строке (!) Parsing error! Пробовал в конце каждой строки when ставить ";" без разницы. Переделал на IF всё сразу заработало. Код:
begin case TYPE when 1 then a_shift=:shift (!) when 2 then b_shift=:shift when 3 then c_shift=:shift end end Код:
create or alter procedure LIST_TO_VALUES ( LST blob sub_type 1 segment size 80) returns ( ID varchar(100)) as declare variable I integer = 1; declare variable J integer = 1; begin while (i <= char_length(lst)) do begin if (substring(lst from i for 1) = ',') then begin if (i > j) then id = trim(leading from substring(lst from j for i - j)); else id = null; if (id is not null) then suspend; j = i+1; end i = i+1; end if (i > j) then id = trim(leading from substring(lst from j for i - j)); else id = null; if (id is not null) then suspend; end А. Первая совершает определённое действие над всем списком, корректировка данных в БД для строк из списка. Увы, почему-то обрабатывает только последний (!) номер из списка. Содержит конструкцию: Код:
for select id from list_to_values (:list_value) into :id do < далее код обработки > Код:
create or alter procedure RPR_OFFICES ( LIST_ID NOTE_BLOB) returns ( "Компания" NAME, "Офис" NAME, "ОфисНомер" NUM) as begin for select c.company_name, o.name, o.number from list_to_values(:list_id) l left join offices o on l.id = o.office_id left join companies c on o.company_id=c.company_id order by 1,2,3 into :"Компания", :"Офис", :"ОфисНомер" do begin suspend; end end Ковыряюсь над этими проблемами уже два дня не могу понять что неправильно... ?! Может СУБД работает в режиме старой версии типа FB1.0? Как это проверить в IBExpert??? |