Описание логических таблиц (View) |
Оператор описания логической таблицы используется для создания и сохранения определения логической таблицы.
Описание логической таблицы начинается ключевыми словами create view (слово create можно опустить) и оканчивается точкой с запятой:
<логическая-таблица> = [ create ] view [ <имя-логической-таблицы> ] [ <описание-переменных> ] [ <описание-массивов> ] [ <поля-логической-таблицы> ] as <описание-выборки> ;
<имя-логической-таблицы> - логическая таблица может иметь имя. Имя таблицы должно быть идентификатором или строкой, имеющей длину до ста символов.
Имена логических таблиц должны быть уникальными в пределах одного ресурсного файла.
<имя-логической-таблицы> = <идентификатор> | <строка>
<описание-переменных> - см. раздел "Переменные. ". Все описания располагаются сразу после конструкции create view. Любое описание может отсутствовать или повторяться неоднократно.
Переменные, объявленные в логической таблице, являются локальными и имеют область видимости, совпадающую с областью видимости таблицы.
<описание-массивов> - описание массивов.
<поля-логической-таблицы> - секция позволяет задать имена и заголовки полей логической таблицы. По этим именам можно обращаться к полям таблицы. Список полей, перечисленных в данной секции должен совпадать с началом списка полей секции <описание-выборки>: первое поле секции <поля-логической-таблицы> именует первое поле секции <описание-выборки> и т.д.
Если пользователь откроет список полей логической таблицы, то список будет содержать указанные в данной секции имена и заголовки полей.
Список полей логической таблицы заключается в круглые скобки:
<поля-логической-таблицы> = (<имя-поля> [ <заголовок-поля> ] {, <имя-поля> [ <заголовок-поля> ] } )
<имя-поля> = <идентификатор> <заголовок-поля> = <строка>
<описание-выборки> - оператор выборки предназначен для извлечения данных из физических таблиц БД, см. раздел "Оператор описания выборки (select). ".
Описание выборки может быть самостоятельным оператором. При выполнении выборки, не входящей в состав логической таблицы, в ресурсе создается временная логическая таблица. Если Вы хотите сохранить выборку в ресурсе, включите ее в оператор описания логической таблицы.
В описаниях логических таблиц, созданных годами ранее, Вы можете встретить конструкцию set, которая считается устаревшей и в новых разработках не используется.
create view AppendixView var cAppStSt : comp; // ставка - NRec lAppTbl : longInt; // хозяин - код таблицы cAppRec : comp; // хозяин - NRec (appTblName) as select if (Appendix.ObjType = 0, 'Штатное расписание', if (Appendix.ObjType = 1, 'Рабочее место', if (Appendix.ObjType = 19, 'Ставка', 'Не определено'))), Appendix.* from Appendix where (( AppStSt == Appendix.Person and AppTbl == Appendix.ObjType and AppRec == Appendix.ObjNrec )) ;