SQL JSON表问题
我从一个外部JSON文件导入数据,该文件工作正常,但我还希望包含一个存储当前日期/时间的列,以存储提取数据的时间SQL JSON表问题,sql,Sql,我从一个外部JSON文件导入数据,该文件工作正常,但我还希望包含一个存储当前日期/时间的列,以存储提取数据的时间 CREATE PROCEDURE main.loadJSON AS DECLARE @Details NVARCHAR(MAX) SELECT @Details = BulkColumn FROM OPENROWSET(BULK'C:\Users\Vally\Desktop\persondata.json',SINGLE_CLOB) JSON I
CREATE PROCEDURE main.loadJSON
AS
DECLARE @Details NVARCHAR(MAX)
SELECT @Details =
BulkColumn
FROM OPENROWSET(BULK'C:\Users\Vally\Desktop\persondata.json',SINGLE_CLOB) JSON
INSERT INTO main.jsontable (dateloaded,name,surname,email,age,balance,country,registered)
VALUES(GETDATE(),
(SELECT *
FROM OPENJSON(@Details,'$.PersonDetails.Person')
WITH(
[Name] NVARCHAR(50) '$.first_name',
[Surname] NVARCHAR(50) '$.last_name',
[Email] NVARCHAR(50) '$.email',
[Age] NVARCHAR(50) '$.age',
[Balance] NVARCHAR(50) '$.balance',
[Country] NVARCHAR(50) '$.country',
[Registered] NVARCHAR(50) '$.registered'
)
)
)
GO
它给了我两个错误
第27行
当子查询未引入EXISTS时,只能在选择列表中指定一个表达式
第13行
INSERT语句中的列多于values子句中指定的值。values子句中的值数必须与INSERT语句中指定的列数匹配
有什么问题吗?不要使用SELECT*
而是显式指定所有列如何使用select选择JSON语句?我试着输入$值,但没有成功,它所做的只是输入文本“$。first_name”…etcNevermind,我已经修复了它。如果其他人有这个问题,我只需将[姓名]、[姓氏]放入选择框,谢谢randy:)