Oracle 19c introduce algunas mejoras significativas en el manejo de datos en formato JSON. En este artículo en particular voy a explicar las mejoras introducidas a la función JSON_OBJECT.
En los siguientes ejemplos, vamos a utilizar una tabla llamada Producto que podemos crear con el script incluido a continuación:
CREATE TABLE Producto (
ID NUMBER(10) NOT NULL,
Marca VARCHAR(100) NOT NULL,
Nombre VARCHAR(100) NOT NULL,
Precio NUMBER(10,4) NOT NULL,
CONSTRAINT PK_Producto PRIMARY KEY (ID)
);
--
INSERT INTO Producto VALUES (1, 'Sony', 'TV LED 40"', 20000);
INSERT INTO Producto VALUES (2, 'Philips', 'TV LED 32"', 15000 );
INSERT INTO Producto VALUES (3, 'Motorola', 'Moto Z4', 25000);
--
COMMIT;
Uso de Comodín
Es posible utilizar el comodín “*” para referenciar todas las columnas en un solo paso. Se puede usar el mismo para toda la consulta o para una tabla en particular usando un alias:SELECT JSON_OBJECT(t.*) AS json_data
FROM <Tabla> t;
Ejemplo
SELECT JSON_OBJECT(p.*) AS json_data
FROM Producto p;
Lista de Columnas
Es posible utilizar una lista de columnas separadas por coma. Los nombres de los elementos mantienen las mayúsculas / minúsculas definidas en la lista:
SELECT JSON_OBJECT(columnaA, ColumnaB) AS json_data
FROM <Tabla> t;
Ejemplo
SELECT JSON_OBJECT(Nombre, Precio) AS json_data
FROM Producto p;
Sintaxis KEY ... VALUE simplificada
No es necesario utilizar la sintaxis ‘KEY … VALUE’, pudiéndose usar directamente “:” para definir los pares de datos:
SELECT JSON_OBJECT('ID' : id,
'Nombre' : name) AS json_data
FROM persons;
Ejemplo
SELECT JSON_OBJECT('ID':id,
'Producto':nombre) AS json_data_new
FROM Producto p;
No hay comentarios.:
Publicar un comentario