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
Azure SQL Database
Azure SQL Managed Instance
SQL Database i Förhandsversion av Microsoft Fabric
Lägger till en eller flera rader i en node eller edge en tabell i SQL Server.
Transact-SQL syntaxkonventioner
INFOGA i nodtabellsyntax
Syntaxen för att infoga i en Node-tabell är densamma som för en vanlig tabell.
[ WITH <common_table_expression> [ ,...n ] ]
INSERT
{
[ TOP ( expression ) [ PERCENT ] ]
[ INTO ]
{ <object> | rowset_function_limited
[ WITH ( <Table_Hint_Limited> [ ...n ] ) ]
}
{
[ (column_list) ] | [(<edge_table_column_list>)]
[ <OUTPUT Clause> ]
{ VALUES ( { DEFAULT | NULL | expression } [ ,...n ] ) [ ,...n ]
| derived_table
| execute_statement
| <dml_table_source>
| DEFAULT VALUES
}
}
}
[;]
<object> ::=
{
[ server_name . database_name . schema_name .
| database_name .[ schema_name ] .
| schema_name .
]
node_table_name | edge_table_name
}
<dml_table_source> ::=
SELECT <select_list>
FROM ( <dml_statement_with_output_clause> )
[AS] table_alias [ ( column_alias [ ,...n ] ) ]
[ WHERE <on_or_where_search_condition> ]
[ OPTION ( <query_hint> [ ,...n ] ) ]
<on_or_where_search_condition> ::=
{ <search_condition_with_match> | <search_condition> }
<search_condition_with_match> ::=
{ <graph_predicate> | [ NOT ] <predicate> | ( <search_condition> ) }
[ AND { <graph_predicate> | [ NOT ] <predicate> | ( <search_condition> ) } ]
[ ,...n ]
<search_condition> ::=
{ [ NOT ] <predicate> | ( <search_condition> ) }
[ { AND | OR } [ NOT ] { <predicate> | ( <search_condition> ) } ]
[ ,...n ]
<graph_predicate> ::=
MATCH( <graph_search_pattern> [ AND <graph_search_pattern> ] [ , ...n] )
<graph_search_pattern>::=
<node_alias> { { <-( <edge_alias> )- | -( <edge_alias> )-> } <node_alias> }
<edge_table_column_list> ::=
($from_id, $to_id, [column_list])
Arguments
Note
Den här artikeln beskriver argument som rör SQL Graph. En fullständig lista och beskrivning av argument som stöds i INSERT-instruktionen finns i INSERT TABLE (Transact-SQL). Standardinstruktioner för Transact-SQL finns i INSERT TABLE (Transact-SQL).
INTO
Är ett valfritt nyckelord som kan användas mellan INSERT och måltabellen.
MATCH search_condition_with_match -sats kan användas i en underfråga när du infogar i en nod- eller kanttabell. För MATCH instruktionssyntax, se GRAPH MATCH (Transact-SQL).
graph_search_pattern Sökmönster som tillhandahålls till MATCH -satsen som en del av grafpredikatet.
edge_table_column_list Användarna måste ange värden för $from_id och $to_id vid infogning i en kant. Ett fel returneras om ett värde inte anges eller om NULL:er infogas i dessa kolumner.
Remarks
- Att infoga i en nod är detsamma som att infoga i en relationstabell. Värden för
$node_idkolumnen genereras automatiskt. - När du infogar rader i en kanttabell måste du ange värden för
$from_idoch$to_idkolumner. - BULK-infogning för nodtabell är samma som för en relationstabell.
- Innan du massinfogar i en kanttabell måste nodtabellerna importeras. Värden för
$from_idoch$to_idkan sedan extraheras från$node_idkolumnen i nodtabellen och infogas som kanter. - I Fabric SQL Database tillåts SQL Graph, men Nod- och Edge-tabeller speglas inte i Fabric OneLake.
Permissions
INSERT-behörighet krävs i måltabellen.
INSERT-behörigheter är standard för medlemmar i den fasta serverrollen sysadmin , db_owner och db_datawriter fasta databasroller och tabellägaren. Medlemmar i sysadmin, db_owner och db_securityadmin roller och tabellägaren kan överföra behörigheter till andra användare.
Om du vill köra INSERT med alternativet OPENROWSET-funktionen BULK måste du vara medlem i den fasta serverrollen sysadmin eller bulkadmin-rollen för fast server.
Examples
A. Infoga i nodtabell
I följande exempel skapas en Person nodtabell och två rader infogas i tabellen.
-- Create person node table
CREATE TABLE dbo.Person (ID integer PRIMARY KEY, name varchar(50)) AS NODE;
-- Insert records for Alice and John
INSERT INTO dbo.Person VALUES (1, 'Alice');
INSERT INTO dbo.Person VALUES (2,'John');
B. Infoga i kanttabell
I följande exempel skapas en friend kanttabell och en kant infogas i tabellen.
-- Create friend edge table
CREATE TABLE dbo.friend (start_date DATE) AS EDGE;
-- Create a friend edge, that connect Alice and John
INSERT INTO dbo.friend VALUES ((SELECT $node_id FROM dbo.Person WHERE name = 'Alice'),
(SELECT $node_id FROM dbo.Person WHERE name = 'John'), '9/15/2011');