Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2017 (14.x) och senare versioner
Av Azure SQL Managed Instance
Skapar en ny SQL-graftabell som antingen en NODE eller en EDGE tabell.
Anmärkning
Standardinstruktioner för Transact-SQL finns i CREATE TABLE (Transact-SQL).
Transact-SQL syntaxkonventioner
Syntax
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
I det här dokumentet visas endast argument som rör SQL-graf. En fullständig lista och beskrivning av argument som stöds finns i CREATE TABLE (Transact-SQL)
database_name
Är namnet på databasen där tabellen skapas.
database_name måste ange namnet på en befintlig databas. Om det inte anges database_name standardvärdet för den aktuella databasen. Inloggningen för den aktuella anslutningen måste vara associerad med ett befintligt användar-ID i databasen som anges av database_name och användar-ID:t måste ha behörigheten SKAPA TABELL.
schema_name
Är namnet på schemat som den nya tabellen tillhör.
table_name
Är namnet på noden eller gränstabellen. Tabellnamn måste följa reglerna för identifierare.
table_name kan innehålla högst 128 tecken, förutom lokala temporära tabellnamn (namn med ett enda taltecken (#)) som inte får överstiga 116 tecken.
NOD
Skapar en nodtabell.
EDGE
Skapar en kanttabell.
tabellbegränsning
Anger egenskaperna för en PRIMÄRNYCKEL, UNIK, SEKUNDÄRNYCKEL, ANSLUTNINGSbegränsning, en CHECK-begränsning eller en STANDARDdefinition som lagts till i en tabell.
Anmärkning
ANSLUTNINGSbegränsning gäller endast för en kanttabelltyp.
PÅ { partition_scheme | filegroup | "standard" }
Anger partitionsschemat eller filgruppen som tabellen lagras i. Om partition_scheme anges ska tabellen vara en partitionerad tabell vars partitioner lagras i en uppsättning med en eller flera filgrupper som anges i partition_scheme. Om filgrupp anges lagras tabellen i den namngivna filgruppen. Filgruppen måste finnas i databasen. Om "standard" har angetts, eller om ON inte har angetts alls, lagras tabellen i standardfilgruppen. Lagringsmekanismen för en tabell som anges i CREATE TABLE kan inte ändras senare.
PÅ {partition_scheme | filegroup | "default"}
Kan också anges i villkoret PRIMÄRNYCKEL eller UNIK. Dessa begränsningar skapar index. Om filgrupp anges lagras indexet i den namngivna filgruppen. Om "standard" har angetts, eller om ON inte har angetts alls, lagras indexet i samma filgrupp som tabellen. Om begränsningen PRIMÄRNYCKEL eller UNIK skapar ett grupperat index lagras datasidorna för tabellen i samma filgrupp som indexet. Om CLUSTERED har angetts eller om villkoret annars skapar ett klustrat index och en partition_scheme anges som skiljer sig från partition_scheme eller filgruppen för tabelldefinitionen, eller vice versa, kommer endast villkorsdefinitionen att respekteras och den andra ignoreras.
Anmärkningar
Det går inte att skapa en tillfällig tabell som nod eller kanttabell.
Det går inte att skapa en nod eller kanttabell som en temporal tabell.
Stretch-databas stöds inte för nod- eller kanttabeller.
Viktigt!
Stretch Database är inaktuell i SQL Server 2022 (16.x) och Azure SQL Database. Den här funktionen tas bort i en framtida version av databasmotorn. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.
Nod- eller kanttabeller kan inte vara externa tabeller (inget PolyBase-stöd för graftabeller).
Det går inte att ändra en icke-partitionerad grafnod/kanttabell till en partitionerad grafnod/kanttabell.
Examples
A. Skapa en NODE tabell
I följande exempel visas hur du skapar en NODE tabell
CREATE TABLE Person (
ID INTEGER PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
) AS NODE;
B. Skapa en EDGE tabell
Följande exempel visar hur du skapar EDGE tabeller
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;
I nästa exempel modelleras en regel som endast personer kan vara vänner med andra personer, vilket innebär att den här gränsen inte tillåter referenser till någon annan nod än Person.
/* 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;
Se även
ÄNDRA TABELL table_constraint
ALTER TABLE (Transact-SQL)
INSERT (SQL Graph)]
Grafbearbetning med SQL Server 2017