Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2017 (14.x) e versões
posteriores Instância Gerenciada SQL do Azure
Cria uma nova tabela do SQL Graph como uma NODE ou uma EDGE tabela.
Observação
Para instruções Transact-SQL padrão, consulte CREATE TABLE (Transact-SQL).
Transact-SQL convenções de sintaxe
Sintaxe
CREATE TABLE
{ database_name.schema_name.table_name | schema_name.table_name | table_name }
( { <column_definition> }
| <computed_column_definition>
| <column_set_definition>
| [ <table_constraint> ] [ ,... n ]
| [ <table_index> ] }
[ ,...n ]
)
AS [ NODE | EDGE ]
[ ON { partition_scheme_name ( partition_column_name )
| filegroup
| "default" } ]
[ ; ]
< table_constraint > ::=
[ CONSTRAINT constraint_name ]
{
{ PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
(column [ ASC | DESC ] [ ,...n ] )
[
WITH FILLFACTOR = fillfactor
|WITH ( <index_option> [ , ...n ] )
]
[ ON { partition_scheme_name (partition_column_name)
| filegroup | "default" } ]
| 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 } ]
[ NOT FOR REPLICATION ]
| CONNECTION
( { node_table TO node_table }
[ , {node_table TO node_table }]
[ , ...n ]
)
[ ON DELETE { NO ACTION | CASCADE } ]
| CHECK [ NOT FOR REPLICATION ] ( logical_expression )
Arguments
Este documento lista apenas argumentos pertencentes ao gráfico SQL. Para obter uma lista completa e uma descrição dos argumentos suportados, consulte CREATE TABLE (Transact-SQL)
database_name
É o nome do banco de dados no qual a tabela é criada.
database_name deve especificar o nome de um banco de dados existente. Se não for especificado, database_name assume como padrão o banco de dados atual. O login para a conexão atual deve ser associado a um ID de usuário existente no banco de dados especificado por database_name, e esse ID de usuário deve ter permissões CREATE TABLE.
schema_name
É o nome do esquema ao qual a nova tabela pertence.
table_name
É o nome do nó ou da tabela de borda. Os nomes das tabelas devem seguir as regras para identificadores.
table_name pode ter no máximo 128 caracteres, exceto para nomes de tabelas temporárias locais (nomes prefixados com um único sinal numérico (#)) que não podem exceder 116 caracteres.
NÓ
Cria uma tabela de nós.
EDGE
Cria uma tabela de borda.
restrição_de_tabela
Especifica as propriedades de uma restrição PRIMARY KEY, UNIQUE, FOREIGN KEY, CONNECTION, uma restrição CHECK ou uma definição DEFAULT adicionada a uma tabela.
Observação
A restrição CONNECTION aplica-se apenas a um tipo de tabela de borda.
ON { partition_scheme | grupo de ficheiros | "padrão" }
Especifica o esquema de partição ou grupo de arquivos no qual a tabela está armazenada. Se partition_scheme for especificado, a tabela deve ser uma tabela particionada cujas partições são armazenadas em um conjunto de um ou mais grupos de arquivos especificados em partition_scheme. Se o grupo de arquivos for especificado, a tabela será armazenada no grupo de arquivos nomeado. O grupo de arquivos deve existir dentro do banco de dados. Se "default" for especificado, ou se ON não for especificado, a tabela será armazenada no grupo de arquivos padrão. O mecanismo de armazenamento de uma tabela, conforme especificado em CREATE TABLE, não pode ser alterado posteriormente.
EM {partition_scheme | filegroup | "padrão"}
Também pode ser especificado em uma restrição de CHAVE PRIMÁRIA ou ÚNICA. Essas restrições criam índices. Se o grupo de arquivos for especificado, o índice será armazenado no grupo de arquivos nomeado. Se "default" for especificado, ou se ON não for especificado, o índice será armazenado no mesmo grupo de arquivos que a tabela. Se a restrição PRIMARY KEY ou UNIQUE criar um índice clusterizado, as páginas de dados da tabela serão armazenadas no mesmo grupo de arquivos que o índice. Se CLUSTERED for especificado ou se a restrição criar um índice clusterizado e for especificado um partition_scheme diferente do partition_scheme ou grupo de arquivos da definição de tabela, ou vice-versa, somente a definição de restrição será respeitada e a outra será ignorada.
Observações
Não há suporte para a criação de uma tabela temporária como nó ou tabela de borda.
Não há suporte para a criação de uma tabela de nó ou borda como uma tabela temporal.
O banco de dados Stretch não é suportado para a tabela de nó ou borda.
Importante
O Stretch Database foi preterido no SQL Server 2022 (16.x) e no Banco de Dados SQL do Azure. Esse recurso será removido em uma versão futura do Mecanismo de Banco de Dados. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso.
As tabelas de nós ou de borda não podem ser tabelas externas (sem suporte PolyBase para tabelas gráficas).
Uma tabela de nó/borda de gráfico não particionada não pode ser alterada em uma tabela de nó/borda de gráfico particionada.
Examples
A. Criar uma NODE tabela
O exemplo a seguir mostra como criar uma NODE tabela
CREATE TABLE Person (
ID INTEGER PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
) AS NODE;
B. Criar uma EDGE tabela
Os exemplos a seguir mostram como criar EDGE tabelas
CREATE TABLE friends (
id INTEGER PRIMARY KEY,
start_date DATe
) AS EDGE;
-- Create a likes edge table, this table does not have any user defined attributes
CREATE TABLE likes AS EDGE;
O próximo exemplo modela uma regra de que apenas pessoas podem ser amigas de outras pessoas, o que significa que essa borda não permite referência a nenhum nó além de Pessoa.
/* Create friend edge table with CONSTRAINT, restricts for nodes and it direction */
CREATE TABLE dbo.FriendOf(
CONSTRAINT cnt_Person_FriendOf_Person
CONNECTION (dbo.Person TO dbo.Person)
)AS EDGE;
Ver também
TABELA ALTER table_constraint
ALTERAR TABELA (Transact-SQL)
INSERT (Gráfico SQL)]
Processamento de gráficos com o SQL Server 2017