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.
EDGE_ID_FROM_PARTS ( object_id, graph_id )
Int yang mewakili ID objek untuk tabel edge.
Nilai bigint untuk ID grafik untuk tepi.
Mengembalikan representasi karakter nvarchar(1000) (JSON) dari ID tepi. Nilai yang dikembalikan dapat berupa NULL jika salah satu argumen yang disediakan tidak valid.
- 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. Parametergraph_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 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;
;