다음을 통해 공유


EDGE_ID_FROM_PARTS (Transact-SQL)

적용 대상: SQL Server 2017(14.x) 이상 Azure SQL Database Azure SQL Managed Instance

지정된 개체 ID 및 그래프 ID에 대한 에지 ID의 문자 표현(JSON)을 반환합니다.

구문

EDGE_ID_FROM_PARTS ( object_id, graph_id )

인수

object_id

에지 테이블의 개체 ID를 나타내는 int입니다.

graph_id

에지의 그래프 ID에 대한 bigint 값입니다.

반환 값

에지 ID의 nvarchar(1000) 문자 표현(JSON)을 반환합니다. 제공된 인수가 유효하지 않은 경우 반환 값이 NULL일 수 있습니다.

설명

  • EDGE_ID_FROM_PARTS에서 반환한 에지 ID의 문자 표현(JSON)은 구현별 세부 정보이며 변경될 수 있습니다.
  • EDGE_ID_FROM_PARTS는 에지 ID의 적합한 문자 표현(JSON)을 생성하는 유일한 방법입니다.
  • EDGE_ID_FROM_PARTS는 원본 데이터에 정수 데이터 형식을 사용하는 적절한 자연 또는 서로게이트 키가 있는 경우 에지 테이블에 데이터를 대량으로 삽입할 때 유용합니다.
  • EDGE_ID_FROM_PARTS에서 반환한 값은 에지 테이블의 $edge_id 열을 채우는 데 사용할 수 있습니다.
  • EDGE_ID_FROM_PARTS에서 에지 ID의 유효한 문자 표현(JSON)을 반환하려면 object_id 매개 변수가 기존 에지 테이블에 대응해야 합니다. graph_id 매개 변수는 유효한 정수라면 무엇이든 가능하지만, 해당 에지 테이블에 없어도 됩니다. 검사가 실패하면 EDGE_ID_FROM_PARTS에서는 NULL을 반환합니다.

예제

다음 예제에서는 OPENROWSET 대량 행 집합 공급자를 사용하여 Azure Storage 계정에 저장된 CSV 파일에서 dataset_key 열과 rating 열을 검색합니다. 그런 다음 EDGE_ID_FROM_PARTS를 사용하여 CSV 파일의 dataset_key를 이용해 $edge_id의 문자 표현을 만듭니다. 또한 NODE_ID_FROM_PARTS를 두 번 사용하여 각각 $from_id(개인 노드 테이블의 경우) 및 $to_id 값(레스토랑 노드 테이블의 경우)이라는 적절한 문자 표현을 만듭니다. 이렇게 변환된 데이터는 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;
;

참고 항목