分享方式:


NODE_ID_FROM_PARTS (Transact-SQL)

適用於:SQL Server 2017 (14.x) 和更新版本的 Azure SQL 資料庫 Azure SQL 受控執行個體

傳回指定物件識別碼和圖形識別碼之節點識別碼的字元標記法 (JSON)。

語法

NODE_ID_FROM_PARTS ( object_id, graph_id )

引數

object_id

int,代表節點資料表的物件識別碼。

graph_id

節點的圖形識別碼 bigint 值。

傳回值

傳回節點識別碼的 Nvarchar(1000) 字元標記法 (JSON)。 如果提供的任何引數無效,則傳回值可能是 NULL。

備註

  • NODE_ID_FROM_PARTS 傳回的節點識別碼字元標記法 (JSON) 是取決於實作的詳細資料,可能會變更。
  • 建構節點識別碼的適當字元標記法時,僅支援 NODE_ID_FROM_PARTS
  • 要將資料大量插入圖形資料表,而且來源資料具有資料類型為整數的適當自然或代理索引鍵時,很適合使用 NODE_ID_FROM_PARTS
  • NODE_ID_FROM_PARTS 傳回的值可用來填入節點資料表中的 $node_id 資料行。 其也可用來填入邊緣資料表中的 $from_id / $to_id 資料行。
  • 若要 NODE_ID_FROM_PARTS 傳回節點識別碼的有效字元標記法 (JSON),object_id 參數必須對應至現有的節點資料表。 參數 graph_id 可以是任何有效的整數,但不需要存在於該節點資料表中。 如果上述任一檢查失敗,NODE_ID_FROM_PARTS 就會傳回 NULL。

範例

下列範例使用 OPENROWSET BULK 資料列集提供者,從儲存在 Azure 儲存體帳戶的 CSV 檔案擷取 IDname 資料行。 其接著會使用 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;
;

另請參閱