Формат исходного кода на 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 );