Описание логических таблиц (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
  ))
;