Такой вот блок
execute block (ID integer = :ID) returns (name varchar(255)) as beginexecute statement 'select distinct cast(rdb$relation_name as varchar(255)) from rdb$relations where rdb$relation_id='||:ID into :name;
end возвращает всегда nullя понимаю, что это дикий изврат, но тогда нужно в доке писать, что в execute block нельзя использовать execute statement

