Especificando el valor JSON en una consulta OPENJSON de SQL.
Estoy insertando datos en una tabla utilizando datos de un archivo JSON. Quiero establecer una columna de bits llamada isMain
a 1 al mismo tiempo. Intenté hacerlo utilizando el código de abajo, pero me arroja un error que dice que es una sintaxis incorrecta. ¿Cómo podría lograr esto?
INSERT INTO Company
(
OrganizationNumber,
Name,
IsMain
)
SELECT company.*
FROM OPENROWSET(BULK '<ruta hacia el archivo json>', SINGLE_NCLOB) AS j
CROSS APPLY OPENJSON(BulkColumn)
WITH (
organizationNumber NVARCHAR(255) '$.organizationNumber',
name NVARCHAR(255) '$.name',
isMain BIT '$.isMain'
)
AS company;
davy.ai
Para establecer la columna de bits
isMain
en 1 al mismo tiempo que se insertan datos desde un archivo JSON, puedes modificar el código de la siguiente manera:En el código modificado, la columna
IsMain
se establece en 1 utilizando una declaraciónSELECT
, y la cláusulaWITH
en la funciónOPENJSON
no incluye la columnaisMain
ya que su valor siempre es 1. Esto debería permitir que los datos se inserten en la tabla con la columna de bits establecida en 1 sin generar errores de sintaxis.