Продажи: 1-800-867-1389

CREATE TABLE (база данных SQL Azure)

Обновлено: Апрель 2014 г.

Данный раздел УСТАРЕЛ. Последняя версия доступна в справочнике по Transact-SQL (SQL 14).

ImportantВажно!
Этот раздел не поддерживается. См. текущую версию в разделе CREATE TABLE (Transact-SQL).

Создает новую таблицу.

Синтаксические обозначения (база данных SQL Azure)


CREATE TABLE 
    [ database_name . [ schema_name ] . | schema_name . ] table_name 
    ( { <column_definition> | <computed_column_definition> 
        | <column_set_definition> } 
        [ <table_constraint> ] [ ,...n ] ) 
FEDERATED ON (distribution_name = column_name)
[ ; ]

<column_definition> ::=column_name <data_type>
    [ COLLATE collation_name ] 

    [ NULL | NOT NULL ]
    [ 
        [ CONSTRAINT constraint_name ] DEFAULT constant_expression ] 
      | [ IDENTITY [ ( seed ,increment ) ] 
    ]
  [ <column_constraint> [ ...n ] ]
  [ SPARSE ]
  
<data type> ::= 
[ type_schema_name . ] type_name 
    [ (precision [ ,scale ] | max 
] 

<column_constraint> ::= 
[ CONSTRAINT constraint_name ] 
{     { PRIMARY KEY | UNIQUE } 
        [ CLUSTERED | NONCLUSTERED ] 
        [ 
          WITH ( < index_option > [ , ...n ] ) 
        ] 
| [ FOREIGN KEY ] 
        REFERENCES [ schema_name . ] referenced_ table_name [ ( ref_column ) ] 
        [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] 
        [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] 
  | CHECK  (logical_expression ) 
} 

<computed_column_definition> ::=column_name AS computed_column_expression 
[ PERSISTED [ NOT NULL ] ]
[ 
    [ CONSTRAINT constraint_name ]
    { PRIMARY KEY | UNIQUE }
        [ CLUSTERED | NONCLUSTERED ]
        [ 
          WITH ( <index_option> [ , ...n ] )
        ]
    | [ FOREIGN KEY ] 
        REFERENCES referenced_table_name [ (ref_column ) ] 
        [ ON DELETE { NO ACTION | CASCADE } ] 
        [ ON UPDATE { NO ACTION } ] 
   [ NOT FOR REPLICATION ] 
    | CHECK (logical_expression ) 
] 

<column_set_definition> ::= 
column_set_name XML COLUMN_SET FOR ALL_SPARSE_COLUMNS

< table_constraint > ::=
[ CONSTRAINT constraint_name ] 
{ 
    { PRIMARY KEY | UNIQUE } 
        [ CLUSTERED | NONCLUSTERED ] 
        (column [ ASC | DESC ] [ ,...n ] ) 
        [ 
           WITH ( <index_option> [ , ...n ] ) 
        ]
  
    | FOREIGN KEY 
        ( column [ ,...n ] ) 
        REFERENCES referenced_table_name [ (ref_column [ ,...n ] ) ] 
        [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] 
        [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] 

    | CHECK (logical_expression ) 
} 

<index_option> ::=
{ 
  IGNORE_DUP_KEY = { ON | OFF } 
  | STATISTICS_NORECOMPUTE = { ON | OFF } 
}

Эта синтаксическая диаграмма показывает поддерживаемые аргументы и параметры в Microsoft База данных SQL Microsoft Azure.

База данных SQL Microsoft Azure не поддерживает следующие аргументы и параметры при использовании инструкции CREATE TABLE:

  • Ключевое слово ON { partition_schema_name | filegroup | "default" }

  • TEXTIMAGE_ON

  • FILESTREAM_ON

  • <определение_столбца>:

    • FILESTREAM

    • NOT FOR REPLICATION

    • ROWGUIDCOL

  • <тип данных>:

    • CONTENT

    • DOCUMENT

    • коллекция_xml_схем

  • <ограничение_столбца>:

    • FILLFACTOR

    • ON

    • NOT FOR REPLICATION

  • <определение_вычисляемого_столбца>:

    • FILLFACTOR

    • NOT FOR REPLICATION

    • ON

  • <ограничение_таблицы>:

    • FILLFACTOR

    • ON

    • NOT FOR REPLICATION

  • <table_option>

  • <index_option>:

    • PAD_INDEX

    • FILLFACTOR

    • ALLOW_ROW_LOCKS

    • ALLOW_PAGE_LOCKS

    • DATA_COMPRESSION

    • ON PARTITIONS

noteПримечание
База данных SQL Microsoft Azure поддерживает формат трехкомпонентного имени database_name.[schema_name].object_name, когда database_name — это текущая база данных или database_name — это tempdb, а имя object_name начинается со знака #.

База данных SQL Microsoft Azure не поддерживает четырехкомпонентные имена.

Запросы к столбцам SPARSE могут направлять все клиентские драйверы, поддерживаемые в База данных SQL Microsoft Azure, однако только драйвер собственного клиента ODBC в SQL Server 2008 или более поздней версии предоставляет полную поддержку сжатия значений NULL в результирующем наборе.

ImportantВажно!
Текущая реализация федераций будет упразднена вместе с уровнями служб Web и Business. Рекомендуется развернуть решения пользовательского сегментирования для обеспечения максимального уровня масштабируемости, гибкости и производительности. Дополнительные сведения о настраиваемом сегментировании см. в разделе Горизонтальное масштабирование баз данных SQL Azure.

Предложение FEDERATED ON создает таблицу как федеративную в существующей федерации и применяет ограничение распределения (distribution_name) для федерации к указанному столбцу федерации в таблице (column_name). Федеративные таблицы имеют следующие характеристики.

  • Столбец федерации федеративной таблицы может содержать только те данные, которые соответствуют значениям от range_low (включительно) до range_high (невключительно) члена федерации.

  • Тип данных столбца федерации должен точно соответствовать типу, заданному в определении федерации.

  • Все уникальные и кластеризованные индексы для федеративной таблицы должны включать столбец федерации. Порядок, в котором столбец федерации представлен в индексе, может отличаться от порядкового номера ключа в федерации.

  • Значения в столбце федерации не могут обновляться значениями, находящимися за пределами диапазона члена федерации.

  • Столбец федерации не может быть материализованным или нематериализованным вычисляемым столбцом.

  • Для федеративных таблиц нельзя создать индексированные представления.

  • Столбцы федерации не могут допускать значения NULL.

  • Все ограничения внешнего ключа для федеративных таблиц должны включать столбец федерации как в ссылающейся, так и в ссылочной таблице и с тем же порядковым номером во внешнем ключе. Ссылочные таблицы не могут иметь связей по внешнему ключу с федеративными таблицами. Федеративные таблицы могут иметь связи по внешнему ключу со ссылочными таблицами без ограничений.

  • Таблицы, созданные с помощью предложения FEDERATED ON, можно удалять обычным образом. Также можно воспользоваться инструкцией ALTER TABLE для изменения всех свойств федеративной таблицы, за исключением таких атрибутов федерации, как ключ федерации. Чтобы преобразовать ссылочную таблицу в таблицу федерации или таблицу федерации в ссылочную таблицу, необходимо создать новые таблицы с требуемыми свойствами, а существующую таблицу удалить.

  • Если таблица отмечена как STATISTICS_NORECOMPUTE, то операции федерации, такие, как SPLIT, не приводят к недействительности статистики или ее пересчету. Это может вызвать проблемы с планом выполнения после таких операций повторного секционирования, как SPLIT.

  • Федеративные таблицы НЕ поддерживают свойство идентификаторов.

  • Федеративные таблицы НЕ поддерживают типы данных timestamp и rowversion.

Дополнительные сведения об аргументах и инструкции CREATE TABLE см. в разделе CREATE TABLE (Transact-SQL) электронной документации по SQL Server.

Поскольку База данных SQL Microsoft Azure не поддерживает таблицы-кучи, таблица должна иметь кластеризованный индекс. Если таблица создана без кластеризованного ограничения, кластеризованный индекс должен быть создан, прежде чем для таблицы будет разрешена операция вставки.

Была ли вам полезна эта информация?
(1500 символов осталось)
Спасибо за ваш отзыв
Корпорация Майкрософт проводит интернет-опрос, чтобы выяснить ваше мнение о веб-сайте MSDN. Если вы желаете принять участие в этом интернет-опросе, он будет отображен при закрытии веб-сайта MSDN.

Вы хотите принять участие?
Показ:
© 2014 Microsoft