Проверка ошибок в коде
Добавлено: 01 мар 2007, 00:03
Добрый вечер. Сервер FB 1.5. FB-IB Studio -инструмент после работы в IBExpert немного непривычен по интерфейсу, но если бы начинал с 0 работать с ним, то все было бы привычно - человеческая инертность. Много несомненных преимуществ. Полезный режим проверки ошибок в коде базы. Выявил довольно много фигни в виде хинтов и прямых ошибок. Но ... Объясните:
Почему на nmFld и nmTbl дает ошибку "неизвестное поле". Ставишь ' : ', все ОК, хотя компилятору FB 1.5 по барабану - что есть ' : ' что нет .
Как правильно? В примерах SQL.extensions по execute statement (doc FB 1.5) вообще никаких двоеточий нет, хотя для себя интуитивно выведено правило - то что входной параметр - то с двумя точками, то что локальная переменная - без них. Так ли это?
Код: Выделить всё
CREATE OR ALTER PROCEDURE SP_ANL_MAIN_DESC
(NM_ANL Varchar(10) , ID Integer)
returns (DSC_ANL Varchar(100))
AS
declare variable NMTBL VARCHAR(30);
declare variable NMFLD VARCHAR(30);
begin
select a.nm_tbl,a.nm_fld from spranal_cnf a
where a.nm_spr = :NM_ANL and a.nom_fld_view = 1
into :nmtbl,:nmfld;
execute statement 'select '||nmFld||' from '||nmTbl||' where id '||:ID into:dsc_anl;
suspend;
end
Как правильно? В примерах SQL.extensions по execute statement (doc FB 1.5) вообще никаких двоеточий нет, хотя для себя интуитивно выведено правило - то что входной параметр - то с двумя точками, то что локальная переменная - без них. Так ли это?