Настоящий стандарт задает два уровня и отдельное средство расширения целостности.
Средство расширения целостности предоставляет следующие синтаксические конструкции наряду с их соответствующими Правилами синтаксиса и Общими правилами:
1) <спецификатор умолчания>;
2) все варианты <ограничения столбца>, отличные от NOT NULL и NOT NULL UNIQUE;
3) все варианты <определения ограничения таблицы>, за исключением UNIQUE (<перечень уникальности столбцов>);
4) операция REFERENCES (<перечень столбцов предоставления привилегий>).
Уровень 2 - это полный SQL язык баз данных, за исключением средства расширения целостности. Уровень 1 является подуровнем для Уровня 2, который удовлетворяет следующим дополнительным правилам.
1) 4.16 "Транзакции":
a) Первое предложение в параграфе 1 заменяется на:
- Транзакция является последовательностью операций, включая операции над базами данных, и рассматривается как целое в отношении восстановления.
b) Параграф 2 удаляется.
c) Второе предложение в параграфе 3 удаляется.
2) 5.3 "<лексема>":
Идентификатор должен состоять из не более чем 12 символов.
3) 5.4 "<имена>":
<Имя таблицы> не должно содержать <идентификатор полномочий>.
4) 5.6 "<спецификация значения> и <спецификация цели>":
a) <спецификация значения> не должна содержать USER.
b) <спецификация параметра> не должна задавать <параметр-признак>.
c) <спецификация переменной> не должна задавать <переменную-признак>.
5) 5.7 "<спецификация столбца>":
К правилу синтаксиса 4 добавляется следующее:
<Спецификация столбца> не должна быть внешней ссылкой.
6) 5.8 "<спецификация функции набора>", 5.24 "<подзапрос>", и 5.25 "<спецификация запроса>":
<Функция мультинабора>, <подзапрос> и <спецификация запроса> не должны содержать ALL.
Примечание - В Уровне 1 сохранение дубликатов задается опусканием DISTINCT.
7) 5.8 "<спецификация функции набора>":
<Функция набора различимых объектов> не должна содержать AVG, MAX, MIN или SUM.