Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Se aplica a: SQL Server 2017 (14.x) y versiones
posteriores De Azure SQL DatabaseAzure
SQL Managed Instance
SQL Database en Microsoft Fabric
Devuelve la representación de caracteres (JSON) del identificador de nodo para un identificador de objeto y un identificador de grafo especificados.
Sintaxis
EDGE_ID_FROM_PARTS ( object_id, graph_id )
Argumentos
object_id
Un valor int que representa el identificador de objeto de la tabla de nodos.
graph_id
Valor bigint para el identificador de grafo de un nodo.
Valor devuelto
Devuelve una representación de caracteres nvarchar(1000) (JSON) del identificador de nodo. El valor devuelto puede ser NULL si alguno de los argumentos proporcionados no es válido.
Comentarios
- La representación de caracteres (JSON) del identificador de nodo devuelto por
EDGE_ID_FROM_PARTSes un detalle específico de la implementación y está sujeto a cambios. -
EDGE_ID_FROM_PARTSes la única manera admitida de construir una representación de caracteres (JSON) adecuada del identificador de nodo. -
EDGE_ID_FROM_PARTSresulta útil para la inserción masiva de datos en una tabla de grafos, cuando los datos de origen tienen una clave natural o suplente adecuada con un tipo de datos entero. - El valor devuelto desde
EDGE_ID_FROM_PARTSse puede usar para rellenar la columna$edge_iden una tabla de nodos. - Para que
EDGE_ID_FROM_PARTSdevuelva una representación de caracteres válida (JSON) de un identificador de nodo, elobject_idparámetro debe corresponder a una tabla de nodos existente. El parámetrograph_idpuede ser cualquier entero válido, pero no necesita existir en esa tabla de nodos. Si se produce un error en alguna de estas comprobaciones,EDGE_ID_FROM_PARTSdevuelve NULL.
Ejemplos
En el ejemplo siguiente se usa el proveedor de conjuntos de filas BULK OPENROWSET para recuperar las columnas dataset_key y rating de un archivo CSV almacenado en una cuenta de Azure Storage. A continuación, se usa EDGE_ID_FROM_PARTS para crear la representación de caracteres de $edge_id, mediante el dataset_key del archivo CSV. También usa NODE_ID_FROM_PARTS dos veces para crear las representaciones de caracteres adecuadas de $from_id (para la tabla de nodos Person) y los valores de $to_id (para la tabla del nodo Restaurante) respectivamente. A continuación, estos datos transformados se insertan (masivamente) en la tabla perimetral 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;
;