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 ファイルから ID
と name
列を取得します。 次に、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;
;