NODE_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 nodo per un ID oggetto e un ID grafo specificati.
Sintassi
NODE_ID_FROM_PARTS ( object_id, graph_id )
Argomenti
object_id
Valore int che rappresenta l'ID oggetto per la tabella nodi.
graph_id
Valore bigint per l'ID grafo per un nodo.
Valore restituito
Restituisce una rappresentazione di caratteri nvarchar(1000) (JSON) dell'ID nodo. Il valore restituito può essere NULL se uno degli argomenti forniti non è valido.
Osservazioni:
- La rappresentazione di caratteri (JSON) dell'ID del nodo restituito da
NODE_ID_FROM_PARTS
è un dettaglio specifico dell'implementazione ed è soggetta a modifiche. NODE_ID_FROM_PARTS
è l'unico modo supportato per creare una rappresentazione di caratteri appropriata dell'ID nodo.NODE_ID_FROM_PARTS
è utile per l'inserimento bulk di dati in una tabella grafo, quando i dati di origine hanno una chiave naturale o surrogata appropriata con un tipo di dati Integer.- Il valore restituito da
NODE_ID_FROM_PARTS
può essere usato per popolare la colonna$node_id
in una tabella nodi. Può essere usato anche per popolare le colonne$from_id
/$to_id
in una tabella bordi. - Affinché
NODE_ID_FROM_PARTS
restituisca una rappresentazione di caratteri (JSON) valida di un ID nodo, il parametroobject_id
deve corrispondere a una tabella nodi esistente. Il parametrograph_id
può essere qualsiasi numero intero valido, ma non deve necessariamente esistere in quella tabella nodi. Se uno di questi controlli non riesce,NODE_ID_FROM_PARTS
restituisce NULL.
Esempi
L'esempio seguente usa il provider bulk per set di righe OPENROWSET per recuperare le colonne ID
e name
da un file CSV archiviato in un account di archiviazione di Azure. Usa quindi NODE_ID_FROM_PARTS
per creare la rappresentazione di caratteri appropriata di $node_id
per l'inserimento finale (bulk) nella tabella nodi Person
. I dati trasformati vengono quindi inseriti (bulk) nella tabella nodi Person
.
INSERT INTO Person($node_id, ID, [name])
SELECT NODE_ID_FROM_PARTS(OBJECT_ID('Person'), ID) as node_id, ID, [name]
FROM OPENROWSET (BULK 'person_0_0.csv',
DATA_SOURCE = 'staging_data_source',
FORMATFILE = 'format-files/person.xml',
FORMATFILE_DATA_SOURCE = 'format_files_source',
FIRSTROW = 2) AS staging_data;
;