Compartilhar via


NODE_ID_FROM_PARTS (Transact-SQL)

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores do Banco de Dados SQL do AzureBanco de Dados SQL do Azure Banco de Dados SQL banco de dados SQL do Banco de Dados SQL do Azurebanco de dados SQL no Microsoft Fabric

Retorna a representação de caracteres (JSON) da ID do nó para determinada ID de objeto e ID de grafo.

Sintaxe

NODE_ID_FROM_PARTS ( object_id, graph_id )

Argumentos

object_id

Um int que representa a ID de objeto da tabela de nós.

graph_id

Um valor bigint para a ID de grafo de um nó.

Valor retornado

Retorna uma representação de caracteres (JSON) nvarchar(1000) da ID de nó. O valor retornado pode ser NULL se qualquer um dos argumentos fornecidos é inválido.

Comentários

  • A representação de caractere (JSON) da ID do nó retornada por NODE_ID_FROM_PARTS é um detalhe específico da implementação e está sujeita a alterações.
  • NODE_ID_FROM_PARTS é a única maneira com suporte para construir uma representação de caracteres adequada da ID do nó.
  • NODE_ID_FROM_PARTS é útil para a inserção em massa de dados em uma tabela de grafo, quando os dados de origem têm uma chave natural ou alternativa adequada com o tipo de dados inteiro.
  • O valor retornado de NODE_ID_FROM_PARTS pode ser usado para preencher a coluna $node_id em uma tabela de nós. Ele também pode ser usado para preencher as colunas $from_id / $to_id em uma tabela de borda.
  • Para NODE_ID_FROM_PARTS retornar uma representação de caracteres (JSON) válida de uma ID de nó, o parâmetro object_id deve corresponder a uma tabela de nós existente. O parâmetro graph_id pode ser qualquer inteiro válido, mas não precisa existir nessa tabela de nós. Se alguma dessas verificações falhar, NODE_ID_FROM_PARTS retornará NULL.

Exemplos

O exemplo a seguir usa o Provedor de Conjuntos de Linhas em Massa OPENROWSET para recuperar as colunas ID e name de um arquivo CSV armazenado em uma conta de Armazenamento do Azure. Em seguida, ele usa NODE_ID_FROM_PARTS para criar a representação de caracteres apropriada de $node_id para uma eventual inserção (em massa) na tabela de nós Person. Então, esses dados transformados são inseridos (em massa) na tabela de nós 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;
;

Confira também