Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server 2017 (14.x) a novější verze
databáze SQL Azure SQL Database
Azure SQL Managed Instance
v Microsoft Fabric
Přidá jeden nebo více řádků do node nebo edge tabulky v SQL Serveru.
Syntaxe tabulky VLOŽIT do uzlu
Syntaxe pro vložení do tabulky Node je stejná jako u běžné tabulky.
[ 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
Tento článek popisuje argumenty související s grafem SQL. Úplný seznam a popis podporovaných argumentů v příkazu INSERT naleznete v tématu INSERT TABLE (Transact-SQL). Standardní příkazy Transact-SQL naleznete v tématu INSERT TABLE (Transact-SQL).
INTO
Je volitelné klíčové slovo, které lze použít mezi INSERT a cílovou tabulkou.
MATCH search_condition_with_match klauzule se dá použít v poddotazu při vkládání do uzlu nebo hraniční tabulky. Syntaxi MATCH příkazů najdete v tématu GRAPH POZVYHLEDAT (Transact-SQL).
graph_search_pattern Vzor hledání poskytnutý klauzuli MATCH jako součást predikátu grafu.
edge_table_column_list Uživatelé musí zadat hodnoty pro $from_id vložení do hraničních zařízení a $to_id při jejich vkládání do hraničních zařízení. Pokud není zadána hodnota nebo jsou do těchto sloupců vloženy hodnoty NULL, vrátí se chyba.
Remarks
- Vložení do uzlu je stejné jako vložení do jakékoli relační tabulky. Hodnoty pro
$node_idsloupec se generují automaticky. - Při vkládání řádků do hraniční tabulky je nutné zadat hodnoty pro
$from_ida$to_idsloupce. - BULK insert pro uzlovou tabulku je stejný jako pro relační tabulku.
- Před hromadným vložením do hraniční tabulky je nutné importovat tabulky uzlů. Hodnoty pro
$from_ida$to_idpak je možné extrahovat ze$node_idsloupce tabulky uzlů a vložit je jako hrany. - V databázi SQL Fabric je sql Graph povolený, ale tabulky Node a Edge se nebudou zrcadlit na Fabric OneLake.
Permissions
V cílové tabulce se vyžaduje oprávnění INSERT.
Oprávnění INSERT jsou výchozí pro členy pevné role serveru správce systému , db_owner a db_datawriter pevné databázové role a vlastníka tabulky. Členové správce systému, db_owner a role db_securityadmin a vlastník tabulky mohou přenášet oprávnění jiným uživatelům.
Chcete-li spustit příkaz INSERT s funkcí BULK, musíte být členem pevné role serveru sysadmin nebo pevné role serveru bulkadmin .
Examples
A. Vložení do tabulky uzlů
Následující příklad vytvoří Person tabulku uzlů a vloží do této tabulky dva řádky.
-- 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. Vložení do hraniční tabulky
Následující příklad vytvoří friend hraniční tabulku a vloží okraj do tabulky.
-- 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');