VENDAS: 1-800-867-1389

CREATE TABLE (Banco de dados SQL do Azure)

Atualizado: abril de 2014

Este tópico está DESATUALIZADO. Você pode encontrar a versão mais atual em Referência de Transact-SQL do SQL 14.

ImportantImportante
Este tópico não está atualizado. Para obter a versão atual, consulte CREATE TABLE (Transact-SQL).

Cria uma tabela nova.

Convenções de sintaxe (Banco de Dados SQL do 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 } 
}

Este diagrama de sintaxe demonstra os argumentos e as opções com suporte no Microsoft Banco de dados SQL do Microsoft Azure. 

O Banco de dados SQL do Microsoft Azure não oferece suporte aos seguintes argumentos e opções no uso da instrução CREATE TABLE:

  • ON keyword { partition_schema_name | filegroup | "default" }

  • TEXTIMAGE_ON

  • FILESTREAM_ON

  • <column_definition>:

    • FILESTREAM

    • NOT FOR REPLICATION

    • ROWGUIDCOL

  • <data type>:

    • CONTENT

    • DOCUMENT

    • xml_schema_collection

  • <column_constraint>:

    • FILLFACTOR

    • ON

    • NOT FOR REPLICATION

  • <computed_column_definition>:

    • FILLFACTOR

    • NOT FOR REPLICATION

    • ON

  • <table_constraint>:

    • FILLFACTOR

    • ON

    • NOT FOR REPLICATION

  • <table_option>

  • <index_option>:

    • PAD_INDEX

    • FILLFACTOR

    • ALLOW_ROW_LOCKS

    • ALLOW_PAGE_LOCKS

    • DATA_COMPRESSION

    • ON PARTITIONS

noteObservação
O Banco de dados SQL do Microsoft Azure oferece suporte ao formato de nome de três partes database_name.[schema_name].object_name quando database_name é o banco de dados atual ou database_name é tempdb e object_name inicia com #.

Banco de dados SQL do Microsoft Azure não oferece suporte a nomes de quatro partes.

Embora as colunas SPARSE possam ser consultadas por todos os drivers cliente suportados pelo Banco de dados SQL do Microsoft Azure, atualmente só o driver ODBC do SQL Server 2008 Native Client ou posterior oferece suporte à compactação de valores nulos em um conjunto de resultados.

A cláusula FEDERATED ON cria a tabela como uma tabela federada em uma federação existente e aplica a restrição de distribuição (distribution_name) à federação na coluna especificada na tabela (column_name). As tabelas federadas têm as seguintes características:

  • A coluna de federação da tabela federada pode conter apenas dados que confirmam para o membro da federação range_low inclusivo e range_high exclusivo.

  • O tipo de dados da coluna de federação deve corresponder exatamente ao tipo de dados estabelecido na definição da federação.

  • Todos os índices exclusivos e clusterizados na tabela federada devem conter a coluna de federação. A ordem na qual a coluna de federação é exibida no índice pode ser diferente da chave ordinal na federação.

  • Os valores da coluna de federação não podem ser atualizados para valores fora do intervalo de membros da federação.

  • A coluna de federação não pode ser uma coluna computada persistente ou não persistente.

  • Não é possível criar Exibições Indexadas em tabelas federadas.

  • As colunas de federação não podem ser NULLable.

  • Todas as restrições de chave estrangeira nas tabelas federadas precisam incluir a coluna de federação nas tabelas referenciadora e referenciada no mesmo ordinal na chave estrangeira. As tabelas de referência não podem ter relacionamentos de chave estrangeira com tabelas federadas. As tabelas federadas podem ter relacionamentos de chave estrangeira com tabelas de referência sem restrições.

  • Você pode remover tabelas criadas com a cláusula FEDERATED ON normalmente. Você também pode usar ALTER TABLE para alterar todas as propriedades de uma tabela federada exceto os atributos de federação como a chave de federação. Para alterar uma tabela de referência em uma tabela federada ou uma tabela federada em uma tabela de referência, você deverá criar novas tabelas com as propriedades desejadas e remover a tabela existente.

  • Quando uma tabela é marcada com STATISTICS_NORECOMPUTE, operações de federação, como SPLIT, não invalidam, nem recalculam estatísticas. Isso pode causar problemas de execução de plano após operações de reparticionamento, como SPLIT.

  • As tabelas federadas não oferecem suporte à propriedade de identidade

  • As tabelas federadas não oferecem suporte aos tipos de dados timestamp e rowversion.

Para obter mais informações sobre os argumentos e a instrução CREATE TABLE, consulte CREATE TABLE (Transact-SQL) nos Manuais Online do SQL Server.

Como o Banco de dados SQL do Microsoft Azure não oferece suporte a tabelas heap, uma tabela deve ter um índice clusterizado. Se uma tabela for criada sem uma restrição clusterizada, um índice clusterizado deverá ser criado antes que uma operação de inserção seja permitida na tabela.

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
Mostrar:
© 2014 Microsoft