Megosztás a következőn keresztül:


BEILLESZTÉS (SQL Grafikon)

A következőkre vonatkozik: Az SQL Server 2017 (14.x) és újabb verziói az Azure SQL DatabaseAzure SQL Managed InstanceSQL Database-adatbázist a Microsoft Fabricben

Egy vagy több sort ad hozzá egy node vagy edge több táblához az SQL Serveren.

Transact-SQL szintaxis konvenciók

INSERT into node table szintaxis

A Csomóponttáblába való beszúrás szintaxisa megegyezik a normál táblával.

[ 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

Ez a cikk az SQL Graphhoz kapcsolódó argumentumokat ismerteti. Az INSERT utasításban támogatott argumentumok teljes listáját és leírását az INSERT TABLE (Transact-SQL) című témakörben találja. A standard Transact-SQL utasításokért lásd: INSERT TABLE (Transact-SQL).

INTO

Választható kulcsszó, amely a céltábla és a céltábla között INSERT használható.

MATCH search_condition_with_match záradék használható egy al lekérdezésben csomópontba vagy éltáblába való beszúráskor. Az MATCH utasítás szintaxisát lásd: GRAPH MATCH (Transact-SQL).

graph_search_pattern A záradékhoz MATCH a gráf predikátum részeként megadott keresési minta.

edge_table_column_list A felhasználóknak meg kell adniuk az értékeket a $from_id peremhálózatra való beszúráskor és $to_id közben. A rendszer hibát ad vissza, ha nincs megadva érték, vagy ha a rendszer NULL-eket szúr be ezekbe az oszlopokba.

Remarks

  • A csomópontba való beszúrás ugyanaz, mint bármely relációs táblába való beszúrás. Az oszlop értékei $node_id automatikusan létrejönnek.
  • Miközben sorokat szúr be egy éltáblába, meg kell adnia az értékeket és $from_id az $to_id oszlopokat.
  • A csomóponttábla TÖMEGES beszúrása ugyanaz, mint egy relációs tábla esetében.
  • Mielőtt tömegesen beszúrt egy éltáblába, importálni kell a csomóponttáblákat. $from_id A csomóponttábla oszlopából kinyerhető $to_id és $node_id szélként beszúrható értékek.
  • A Fabric SQL-adatbázisban az SQL Graph engedélyezett, de a Node- és Edge-táblák nem fognak tükrözni a Fabric OneLake-be.

Permissions

INSERT engedély szükséges a céltáblában.

Az INSERT-engedélyek alapértelmezés szerint a sysadmin rögzített kiszolgálói szerepkör tagjai, a db_owner és db_datawriter rögzített adatbázis-szerepkörök, valamint a tábla tulajdonosa. A sysadmin, a db_owner és a db_securityadmin szerepkörök tagjai és a táblatulajdonos átvihetik az engedélyeket más felhasználóknak.

Az INSERT OPENROWSET függvény TÖMEGES beállításával való végrehajtásához a sysadmin rögzített kiszolgálói szerepkör vagy a bulkadmin rögzített kiszolgálói szerepkör tagjának kell lennie.

Examples

A. Beszúrás csomóponttáblába

Az alábbi példa létrehoz egy csomóponttáblát Person , és két sort szúr be ebbe a táblába.

-- 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. Beszúrás éltáblába

Az alábbi példa létrehoz egy éltáblát friend , és beszúr egy élet a táblázatba.

-- 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');

Következő lépések