EDGE_ID_FROM_PARTS (Transact-SQL)

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

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

語法

EDGE_ID_FROM_PARTS ( object_id, graph_id )

引數

object_id

int,代表邊緣資料表的物件識別碼。

graph_id

邊緣的圖形識別碼 bigint 值。

傳回值

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

備註

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

範例

下列範例使用 OPENROWSET BULK 資料列集提供者,從儲存在 Azure 儲存體帳戶的 CSV 檔案擷取 dataset_keyrating 資料行。 接著,利用 CSV 檔案中的 dataset_key,使用 EDGE_ID_FROM_PARTS 建立 $edge_id 的字元標記法。 此外,還會使用 NODE_ID_FROM_PARTS 兩次,分別為 $from_id (用於 Person 節點資料表) 和 $to_id values (用於 Restaurant 節點資料表) 建立適當的字元標記法。 接著,轉換的這份資料會 (大量) 插入 likes 邊緣資料表中。

INSERT INTO likes($edge_id, $from_id, $to_id, rating)
SELECT EDGE_ID_FROM_PARTS(OBJECT_ID('likes'), dataset_key) as from_id
, NODE_ID_FROM_PARTS(OBJECT_ID('Person'), ID) as from_id
, NODE_ID_FROM_PARTS(OBJECT_ID('Restaurant'), ID) as to_id
, rating
FROM OPENROWSET (BULK 'person_likes_restaurant.csv',
    DATA_SOURCE = 'staging_data_source',
    FORMATFILE = 'format-files/likes.xml',
    FORMATFILE_DATA_SOURCE = 'format_files_source',
    FIRSTROW = 2) AS staging_data;
;

另請參閱