Bagikan melalui


EDGE_ID_FROM_PARTS (T-SQL)

Berlaku untuk: SQL Server 2017 (14.x) dan azure SQL Database Azure SQL Managed Instance yang lebih baru

Mengembalikan representasi karakter (JSON) ID tepi untuk ID objek dan ID grafik tertentu.

Sintaks

EDGE_ID_FROM_PARTS ( object_id, graph_id )

Argumen

object_id

Int yang mewakili ID objek untuk tabel edge.

graph_id

Nilai bigint untuk ID grafik untuk tepi.

Nilai hasil

Mengembalikan representasi karakter nvarchar(1000) (JSON) dari ID tepi. Nilai yang dikembalikan dapat berupa NULL jika salah satu argumen yang disediakan tidak valid.

Keterangan

  • Representasi karakter (JSON) dari ID tepi yang dikembalikan oleh EDGE_ID_FROM_PARTS adalah detail spesifik implementasi, dan dapat berubah.
  • EDGE_ID_FROM_PARTS adalah satu-satunya cara yang didukung untuk membuat representasi karakter (JSON) yang sesuai dari ID tepi.
  • EDGE_ID_FROM_PARTS berguna dalam kasus yang melibatkan penyisipan data secara massal ke dalam tabel edge, ketika data sumber memiliki kunci alami atau pengganti yang sesuai dengan jenis data bilangan bulat.
  • Nilai yang dikembalikan dari EDGE_ID_FROM_PARTS dapat digunakan untuk mengisi $edge_id kolom dalam tabel edge.
  • Untuk EDGE_ID_FROM_PARTS mengembalikan representasi karakter yang valid (JSON) dari ID tepi, object_id parameter harus sesuai dengan tabel tepi yang ada. Parameter graph_id dapat berupa bilangan bulat yang valid, tetapi tidak perlu ada di tabel edge tersebut. Jika salah satu pemeriksaan ini gagal, EDGE_ID_FROM_PARTS mengembalikan NULL.

Contoh

Contoh berikut menggunakan Penyedia Rowset Massal OPENROWSET untuk mengambil dataset_key kolom dan rating dari file CSV yang disimpan di akun Azure Storage. Kemudian menggunakan EDGE_ID_FROM_PARTS untuk membuat representasi karakter $edge_id, menggunakan dataset_key dari file CSV. Ini juga menggunakan NODE_ID_FROM_PARTS dua kali untuk membuat representasi karakter yang sesuai dari $from_id (untuk tabel node Orang) dan nilai $to_id (untuk tabel node Restoran) masing-masing. Data yang diubah ini kemudian (massal) dimasukkan ke likes dalam tabel edge.

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

Lihat juga