Dela via


NODE_ID_FROM_PARTS (Transact-SQL)

Gäller för: SQL Server 2017 (14.x) och senare versioner Av Azure SQL DatabaseAzure SQL Managed Instance

Returnerar teckenrepresentationen (JSON) för nod-ID:t för ett angivet objekt-ID och graf-ID.

Syntax

NODE_ID_FROM_PARTS ( object_id, graph_id )

Arguments

object_id

En int som representerar objekt-ID för nodtabellen.

graph_id

Ett bigint-värde för graf-ID:t för en nod.

Returvärde

Returnerar en nvarchar(1000) teckenrepresentation (JSON) av nod-ID:t. Returvärdet kan vara NULL om något av de angivna argumenten är ogiltiga.

Anmärkningar

  • Teckenrepresentationen (JSON) för nod-ID:t som returneras av NODE_ID_FROM_PARTS är en implementeringsspecifik detalj och kan komma att ändras.
  • NODE_ID_FROM_PARTS är det enda sättet att skapa en lämplig teckenrepresentation av nod-ID:t.
  • NODE_ID_FROM_PARTS är användbart för massinfogning av data i en graftabell, när källdata har en lämplig naturlig nyckel eller surrogatnyckel med en heltalsdatatyp.
  • Värdet som returneras från NODE_ID_FROM_PARTS kan användas för att fylla i $node_id kolumnen i en nodtabell. Den kan också användas för att fylla i kolumnerna $from_id / $to_id i en kanttabell.
  • För NODE_ID_FROM_PARTS att returnera giltig teckenrepresentation (JSON) för ett nod-ID måste parametern object_id motsvara en befintlig nodtabell. Parametern graph_id kan vara valfritt giltigt heltal, men den behöver inte finnas i nodtabellen. Om någon av dessa kontroller misslyckas NODE_ID_FROM_PARTS returnerar null.

Examples

I följande exempel används OPENROWSET Mass Rowset Provider för att hämta kolumnerna ID och name från en CSV-fil som lagras på ett Azure Storage-konto. Den använder NODE_ID_FROM_PARTS sedan för att skapa lämplig teckenrepresentation av $node_id för eventuell (massinfogning) i nodtabellen Person . Dessa transformerade data infogas sedan (bulk) i nodtabellen 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;
;

Se även