Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2017 (14.x) ve sonraki sürümleri
Microsoft Fabric'te
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği SQL veritabanı
SQL Server'da bir veya tablosuna bir node veya edge daha fazla satır ekler.
Transact-SQL söz dizimi kuralları
INSERT Düğüm tablosu sözdizimine
Node tablosuna ekleme söz dizimi normal tabloyla aynıdır.
[ 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
Bu makalede SQL grafı ile ilgili bağımsız değişkenler açıklanmaktadır. Desteklenen argümanların tam listesi ve açıklaması INSERT için bkz.INSERTTABLE (Transact-SQL). Standart Transact-SQL ifadeleri için bkz.INSERTTABLE (Transact-SQL).
INTO
ile hedef tablo arasında INSERT kullanılabilen isteğe bağlı bir anahtar sözcüktür.
MATCH search_condition_with_match yan tümcesi bir düğüme veya kenar tablosuna eklenirken bir alt sorguda kullanılabilir. Deyim söz dizimi için MATCH bkz. GRAPH KAÇINCI (Transact-SQL).
graph_search_pattern Grafik koşulunun bir parçası olarak yan tümcesine MATCH sağlanan arama düzeni.
edge_table_column_list Kullanıcıların bir kenara eklerken ve $from_id için $to_id değerler sağlaması gerekir. Bir değer sağlanmamışsa veya BU sütunlara NUL'ler eklendiğinde bir hata döndürülür.
Remarks
- Düğüme ekleme, herhangi bir ilişkisel tabloya eklemeyle aynıdır. Sütun değerleri
$node_idotomatik olarak oluşturulur. - Kenar tablosuna satır eklerken ve
$from_idsütunları için$to_iddeğerler sağlamanız gerekir. - Düğüm tablosu için BULK ekleme, ilişkisel tabloyla aynıdır.
- Kenar tablosuna toplu eklemeden önce düğüm tablolarının içeri aktarılması gerekir. ve
$from_iddeğerleri$to_iddaha sonra düğüm tablosunun$node_idsütunundan ayıklanabilir ve kenar olarak eklenebilir. - Doku SQL veritabanında SQL Graph'a izin verilir, ancak Node ve Edge tabloları Doku OneLake'e yansıtılmaz.
Permissions
INSERT Hedef masada izin gereklidir.
INSERT İzinler, varsayılan olarak sysadmin sabit sunucu rolünün, db_owner ve db_datawriter sabit veritabanı rollerinin üyelerine ve tablo sahibine aitti. Sysadmin, db_owner ve db_securityadmin rollerinin üyeleri ve tablo sahibi izinleri diğer kullanıcılara aktarabilir.
OPENROWSET fonksiyonu BULK seçeneğiyle çalıştırmak INSERT için, sistem yöneticisi sabit sunucu rolünün veya bulkadmin sabit sunucu rolünün bir üyesi olmanız gerekir.
Examples
A. Düğüm tablosuna ekle
Aşağıdaki örnek bir Person düğüm tablosu oluşturur ve bu tabloya iki satır ekler.
-- 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. Kenar tablosuna ekle
Aşağıdaki örnek bir friend kenar tablosu oluşturur ve tabloya bir kenar ekler.
-- 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');