Формат исходного кода на SQL

Материал из GedeminWiki
Перейти к: навигация, поиск
  • Зарезервированные слова, названия стандартных типов, стандартные (встроенные) функции SQL набираются прописными (большими) буквами.
  • Идентификаторы объектов, определяемые пользователем (идентификаторы пользователя), набираются строчными (малыми) буквами.
  • Параметры, передаваемые в процедуру и возвращаемые из процедуры, а также параметры в SQL выражениях набираются в паскалевском стиле (т.е. строчными буквами с первой прописной. Прописными буквами также начинаются слова в идентификаторе, состоящем из нескольких слов).
  • В случае длинных идентификаторов пользователя, состоящих из нескольких слов, допускается применение символа подчеркивания для разделения логических частей идентификатора.
  • Выделение логических блоков отступами, аналогично используемому в паскалевском коде.
  • Величина стандартного отступа составляет 2 пробела.
  • При формировании текста SQL запроса наименования секций: SELECT, FROM, WHERE, ORDER BY, GROUP BY располагаются на отдельной строке. Следующий за ним блок (собственно, сама секция, выделяется отступом).
  • Определение доменов, таблиц, отображений, процедур группируется в файле в отдельные блоки. Индексы определяются сразу за таблицей к которой они относятся. Исключения определяются перед процедурой в которой они используются первый раз.

Префиксы типа объекта

При создании идентификаторов пользователя используются префиксы, определяющие тип объекта:

Префикс Значение Пример
X Индекс
G Генератор
D Domain
E Exception

Примеры

/****************************************************/
/****************************************************/
/**                                                **/
/**   Domains                                      **/
/**                                                **/
/****************************************************/
/****************************************************/  

CREATE DOMAIN dintkey
  AS INTEGER NOT NULL;

CREATE DOMAIN dalias
  AS VARCHAR(8) CHARACTER SET WIN1251 NOT NULL COLLATE PXW_CYRL;

/****************************************************/
/**                                                **/
/**   References                                   **/
/**                                                **/
/****************************************************/

CREATE TABLE groups
(
  groupkey         dintkey,
  up               INTEGER,
  alias            dalias,
  name             dname,
  balanceline      dbalanceline,

  PRIMARY KEY (groupkey),
  FOREIGN KEY (up) REFERENCES groups (groupkey)
);

CREATE ASC INDEX xgroups
  ON groups
(
  up,
  groupkey
);

См. также

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты