Sdílet prostřednictvím


EDGE_ID_FROM_PARTS (Transact-SQL)

Platí pro: SQL Server 2017 (14.x) a novější verze databáze SQL Azure SQL DatabaseAzure SQL Managed Instancev Microsoft Fabric

Vrátí reprezentaci znaků (JSON) hraničního ID daného ID objektu a ID grafu.

Syntaxe

EDGE_ID_FROM_PARTS ( object_id, graph_id )

Arguments

object_id

Int představující ID objektu pro hraniční tabulku.

graph_id

Hodnota bigint pro ID grafu pro hraniční zařízení.

Návratová hodnota

Vrátí reprezentaci znaku nvarchar(1000) (JSON) hraničního ID. Návratová hodnota může mít hodnotu NULL, pokud některý z zadaných argumentů není platný.

Poznámky

  • Reprezentace znaků (JSON) ID hraničních zařízení vrácených implementací EDGE_ID_FROM_PARTS je podrobností specifická pro implementaci a může se změnit.
  • EDGE_ID_FROM_PARTS je jediným podporovaným způsobem vytvoření vhodné reprezentace znaků (JSON) hraničního ID.
  • EDGE_ID_FROM_PARTS je užitečné v případech zahrnujících hromadné vložení dat do hraniční tabulky, pokud zdrojová data mají vhodný přirozený nebo náhradní klíč s celočíselnou datovým typem.
  • Hodnotu vrácenou EDGE_ID_FROM_PARTS z $edge_id lze použít k naplnění sloupce v hraniční tabulce.
  • Pokud EDGE_ID_FROM_PARTS chcete vrátit platnou reprezentaci znaků (JSON) hraničního ID, object_id musí parametr odpovídat existující hraniční tabulce. Parametr graph_id může být libovolné platné celé číslo, ale nemusí existovat v této hraniční tabulce. Pokud některé z těchto kontrol selžou, EDGE_ID_FROM_PARTS vrátí hodnotu NULL.

Examples

Následující příklad používá zprostředkovatele hromadné sady řádků OPENROWSET k načtení dataset_key a rating sloupců ze souboru CSV uloženého v účtu Azure Storage. Potom pomocí souboru CSV vytvoří EDGE_ID_FROM_PARTS reprezentaci znaku $edge_id dataset_key . Používá také NODE_ID_FROM_PARTS dvakrát k vytvoření odpovídající reprezentace znaků $from_id (pro tabulku uzlů Person) a hodnoty $to_id (pro tabulku uzlů restaurace). Tato transformovaná data se pak (hromadně) vloží do likes hraniční tabulky.

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;
;

Viz také