Я тоже люблю отвечать, нифига не поняв смысла высказываний собеседника. пример функции на MySQL
BEGIN
declare v_result varchar(64);
select NOT_EXISTING_FIELD into v_result from NOT_EXISTING_TABLE where id = 1;
RETURN v_result;
END
А теперь представьте, что у вас не просто select, а select в обрамлениие кучи if. Сколько понадобится тестовых вариантов чтобы это протестить ? И так КАЖДЫЙ раз, когда вы меняете метаданные.
NON_EXISTENT_... - место для опечатки. Такие баги вы выявите на стадии отладки (наверное). А в Firebird такую процедуру создать просто нельзя. Т.е. механизм для метаданных такой же как механизм внешних ключей для данных. Force это круто, но и без него всё работает слишком ненадёжно.