Системы обработки информации - язык баз данных SQL


         

в соответствии со следующими синтаксическими


Идентифицирующий столбец в определении таблицы специфицируется в соответствии со следующими синтаксическими правилами:

identity_column_definition> ::=
column_name data_type
GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY
[ ( common_sequence_generator_option_list ) ]
[ column_constraint_definition_list ]

common_sequence_generator_option ::=
START WITH signed_numeric_literal

| INCREMENT BY signed_numeric_literal

| maxvalue_option
| minvalue_option
| cycle_option

Типом данных идентифицирующего столбца должен быть точный числовой тип со шкалой 0 или индивидуальный тип, основанный на таком числовом типе. Определение идентифицирующего столбца вызывает неявное определение для него ограничения NOT NULL NOT DEFERRABLE. В таблице можно определить не более одного идентифицирующего столбца.

Вот пример определения базовой таблицы с идентифицирующим столбцом:

CREATE TABLE PARTS (
PART_NO INTEGER GENERATED ALWAYS AS IDENTITY (
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 10000
NO CYCLE ),
PART_DESCR VARCHAR (100),

PART_QUANTITY INTEGER );

При вставке строк в эту таблицу значение номера детали задавать не требуется (и даже нельзя, поскольку в спецификации соответствующего столбца указано GENERATED ALWAYS). Например, если выполнить оператор вставки

INSERT INTO PARTS (PART_DESCR, PART_QUANTITY) VALUES (‘BOLT’, 30);

то значение столбца PART_NO будет сгенерировано автоматически с использованием тех же правил, которые используются при генерации значений генераторов последовательностей. Если же при определении идентифицирующего столбца указать опцию GENERATED BY DEFAULT, то автоматическая генерация значений столбца будет производиться только в тех случаях, когда в операторе вставки не задано явное значение.

Конечно же, как и в случае генераторов последовательностей, можно изменить характеристики идентифицирующего столбца с помощью оператора ALTER TABLE.

Наконец, один или несколько столбцов определяемой базовой таблицы могут быть специфицированы как генерируемые столбцы (generated columns). Определение такого столбца подчиняется следующим синтаксическим правилам:


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий