次の方法で共有


NODE_ID_FROM_PARTS (Transact-SQL)

適用対象: SQL Server 2017 (14.x) 以降 Azure SQL Database Azure SQL Managed Instance

指定されたオブジェクト ID とグラフ ID に対するノード ID の文字表現 (JSON) を返します。

構文

NODE_ID_FROM_PARTS ( object_id, graph_id )

引数

object_id

ノード テーブルのオブジェクト ID を表す int

graph_id

ノードのグラフ ID の bigint 値。

戻り値

ノード ID の nvarchar(1000) の文字表現 (JSON) を返します。 指定された引数のいずれかが無効な場合、戻り値は NULL になります。

注釈

  • NODE_ID_FROM_PARTS によって返されるノード ID の文字表現 (JSON) は実装に固有の詳細であり、変更される可能性があります。
  • NODE_ID_FROM_PARTS は、ノード ID の適切な文字表現を構築するためにサポートされている唯一の方法です。
  • NODE_ID_FROM_PARTS は、ソース データに整数データ型の適切なナチュラル キーまたは代理キーがあるときに、グラフ テーブルにデータを一括挿入する場合に便利です。
  • NODE_ID_FROM_PARTS から返された値を使って、ノード テーブルの $node_id 列を設定できます。 また、エッジ テーブル内の $from_id$to_id 列を設定するためにも使用できます。
  • NODE_ID_FROM_PARTS からノード ID の有効な文字表現 (JSON) が返されるためには、object_id パラメーターが既存のノード テーブルに対応している必要があります。 graph_id パラメーターには任意の有効な整数を指定できますが、そのノード テーブルにそれが存在している必要はありません。 これらのチェックのいずれかが失敗した場合、NODE_ID_FROM_PARTS は NULL を返します。

次の例では、OPENROWSET BULK 行セット プロバイダーを使って、Azure ストレージ アカウントに格納されている CSV ファイルから IDname 列を取得します。 次に、NODE_ID_FROM_PARTS を使って、Person ノード テーブルへの最終的な (一括) 挿入のために $node_id の適切な文字表現を作成します。 その後、この変換されたデータは、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;
;

関連項目