Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2017 (14.x) en latere versies
Van Azure SQL Database
Azure SQL Managed Instance
Retourneert de tekenweergave (JSON) van de edge-id voor een bepaalde object-id en grafiek-id.
Syntaxis
EDGE_ID_FROM_PARTS ( object_id, graph_id )
Arguments
object_id
Een int die de object-id voor de edge-tabel vertegenwoordigt.
graph_id
Een bigint-waarde voor de grafiek-id voor een rand.
Retourwaarde
Retourneert een nvarchar(1000) tekenweergave (JSON) van de edge-id. De retourwaarde kan NULL zijn als een van de opgegeven argumenten ongeldig is.
Opmerkingen
- De tekenweergave (JSON) van de edge-id die wordt
EDGE_ID_FROM_PARTSgeretourneerd, is een specifieke implementatiedetails en kan worden gewijzigd. -
EDGE_ID_FROM_PARTSis de enige ondersteunde manier om een geschikte tekenweergave (JSON) van de edge-id te maken. -
EDGE_ID_FROM_PARTSis handig in gevallen waarbij gegevens bulksgewijs worden ingevoegd in een randtabel, wanneer de brongegevens een geschikte natuurlijke of surrogaatsleutel hebben met een gegevenstype geheel getal. - De geretourneerde
EDGE_ID_FROM_PARTSwaarde kan worden gebruikt om de$edge_idkolom in een randtabel te vullen. - Als
EDGE_ID_FROM_PARTSu een geldige tekenweergave (JSON) van een edge-id wilt retourneren, moet deobject_idparameter overeenkomen met een bestaande randtabel. Degraph_idparameter kan een geldig geheel getal zijn, maar deze hoeft niet aanwezig te zijn in die randtabel. Als een van deze controles mislukt,EDGE_ID_FROM_PARTSwordt NULL geretourneerd.
Voorbeelden
In het volgende voorbeeld wordt de OPENROWSET-bulkrijsetprovider gebruikt om de dataset_key en rating kolommen op te halen uit een CSV-bestand dat is opgeslagen in een Azure Storage-account. Vervolgens wordt EDGE_ID_FROM_PARTS de tekenweergave van $edge_id gemaakt met behulp van het dataset_key CSV-bestand. Er wordt ook twee keer NODE_ID_FROM_PARTS gebruikt om de juiste tekenweergaven te maken van respectievelijk $from_id (voor de tabel Persoonknooppunt) en $to_id-waarden (voor de tabel Restaurantknooppunt). Deze getransformeerde gegevens worden vervolgens (bulk) ingevoegd in de likes randtabel.
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;
;