NODE_ID_FROM_PARTS (Transact-SQL)
适用于:SQL Server 2017 (14.x) 及更高版本Azure SQL 数据库Azure SQL 托管实例
返回给定对象 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
创建 $node_id
的适当字符表示形式,以便最终(批量)插入到 Person
节点表中。 然后,此转换数据将(批量)插入到 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;
;