EDGE_ID_FROM_PARTS (Transact-SQL)
Si applica a: SQL Server 2017 (14.x) e alle sue versioni successive Database SQL di Azure Istanza gestita di SQL di Azure
Restituisce la rappresentazione di caratteri (JSON) dell'ID contorno per un ID oggetto e un ID grafo specificati.
Sintassi
EDGE_ID_FROM_PARTS ( object_id, graph_id )
Argomenti
object_id
Valore int che rappresenta l'ID oggetto per la tabella contorni.
graph_id
Valore bigint per l'ID grafo per un contorno.
Valore restituito
Restituisce una rappresentazione di caratteri nvarchar(1000) (JSON) dell'ID contorno. Il valore restituito può essere NULL se uno degli argomenti forniti non è valido.
Osservazioni:
- La rappresentazione di caratteri (JSON) dell'ID contorno restituito da
EDGE_ID_FROM_PARTS
è un dettaglio specifico dell'implementazione ed è soggetta a modifiche. EDGE_ID_FROM_PARTS
è l'unico modo supportato per creare una rappresentazione di caratteri (JSON) appropriata dell'ID contorno.EDGE_ID_FROM_PARTS
è utile in caso di inserimento bulk di dati in una tabella contorni, quando i dati di origine hanno una chiave naturale o surrogata appropriata con un tipo di dati Integer.- Il valore restituito da
EDGE_ID_FROM_PARTS
può essere usato per popolare la colonna$edge_id
in una tabella contorni. - Affinché
EDGE_ID_FROM_PARTS
restituisca una rappresentazione di caratteri (JSON) valida di un ID contorno, il parametroobject_id
deve corrispondere a una tabella contorni esistente. Il parametrograph_id
può essere qualsiasi numero intero valido, ma non deve necessariamente esistere in quella tabella contorni. Se uno di questi controlli non riesce,EDGE_ID_FROM_PARTS
restituisce NULL.
Esempi
L'esempio seguente usa il provider bulk per set di righe OPENROWSET per recuperare le colonne dataset_key
e rating
da un file CSV archiviato in un account di archiviazione di Azure. Viene quindi usato EDGE_ID_FROM_PARTS
per creare la rappresentazione dei caratteri di $edge_id usando il dataset_key
del file CSV. Viene usato anche NODE_ID_FROM_PARTS due volte per creare rispettivamente le rappresentazioni di caratteri appropriate di $from_id (per la tabella nodi Person) e $to_id (per la tabella nodi Restaurant). I dati trasformati vengono quindi inseriti (bulk) nella tabella contorni likes
.
INSERT INTO likes($edge_id, $from_id, $to_id, rating)
SELECT EDGE_ID_FROM_PARTS(OBJECT_ID('likes'), dataset_key) as from_id
, NODE_ID_FROM_PARTS(OBJECT_ID('Person'), ID) as from_id
, NODE_ID_FROM_PARTS(OBJECT_ID('Restaurant'), ID) as to_id
, rating
FROM OPENROWSET (BULK 'person_likes_restaurant.csv',
DATA_SOURCE = 'staging_data_source',
FORMATFILE = 'format-files/likes.xml',
FORMATFILE_DATA_SOURCE = 'format_files_source',
FIRSTROW = 2) AS staging_data;
;