使用 SQL Server 2016 将存储过程从 SELECT INTO 更改为 INSERT INTO
Change a stored procedure from SELECT INTO to INSERT INTO using SQL Server 2016
我找不到正确的语法。
我有
SELECT
A.[Journal ISSN], A.[ISSN Primary], A.[ISSN Secondary], A.[Journal Title],
pubYear = B.[Key],
ImpactFactor = B.[Value]
INTO
A_ADMIN_IMPACT_FACTORS_2020_ROWS
FROM
A_ADMIN_IMPACT_FACTORS_2020 A
CROSS APPLY
(SELECT *
FROM OPENJSON((SELECT A.* For JSON Path, Without_Array_Wrapper))
WHERE [Key] NOT IN ('ID', 'ISSN Primary', 'ISSN Secondary', 'URL_Data', 'Journal ISSN', 'Journal Title', 'Other', 'Columns', 'ToExclude', 'Category')) B
当我删除 Table 和 运行 代码时,这很有效。我想做的是将其更改为 INSERT
语句,这样它就可以像
一样开始
INSERT INTO A_ADMIN_IMPACT_FACTORS_2020_ROWS
([Journal ISSN], [ISSN Primary], [ISSN Secondary], [Journal Title], .....
如果需要,我可以创建一个临时文件 table 将列转换为行,然后添加它们,但如果有一种语法可行,跳过该步骤效果会更好。
语法INSERT SELECT
:
INSERT INTO A_ADMIN_IMPACT_FACTORS_2020_ROWS
([Journal ISSN],[ISSN Primary],[ISSN Secondary],[Journal Title], ...)
Select A.[Journal ISSN],A.[ISSN Primary], A.[ISSN Secondary], A.[Journal Title]
,pubYear = B.[Key] ,ImpactFactor = B.[Value]
From A_ADMIN_IMPACT_FACTORS_2020 A
Cross Apply ( Select *
From OpenJson((Select A.* For JSON Path,Without_Array_Wrapper ))
Where [Key] not in ('ID','ISSN Primary','ISSN Secondary','URL_Data','Journal ISSN'
,'Journal Title','Other','Columns','ToExclude', 'Category')
) B
我找不到正确的语法。
我有
SELECT
A.[Journal ISSN], A.[ISSN Primary], A.[ISSN Secondary], A.[Journal Title],
pubYear = B.[Key],
ImpactFactor = B.[Value]
INTO
A_ADMIN_IMPACT_FACTORS_2020_ROWS
FROM
A_ADMIN_IMPACT_FACTORS_2020 A
CROSS APPLY
(SELECT *
FROM OPENJSON((SELECT A.* For JSON Path, Without_Array_Wrapper))
WHERE [Key] NOT IN ('ID', 'ISSN Primary', 'ISSN Secondary', 'URL_Data', 'Journal ISSN', 'Journal Title', 'Other', 'Columns', 'ToExclude', 'Category')) B
当我删除 Table 和 运行 代码时,这很有效。我想做的是将其更改为 INSERT
语句,这样它就可以像
INSERT INTO A_ADMIN_IMPACT_FACTORS_2020_ROWS
([Journal ISSN], [ISSN Primary], [ISSN Secondary], [Journal Title], .....
如果需要,我可以创建一个临时文件 table 将列转换为行,然后添加它们,但如果有一种语法可行,跳过该步骤效果会更好。
语法INSERT SELECT
:
INSERT INTO A_ADMIN_IMPACT_FACTORS_2020_ROWS
([Journal ISSN],[ISSN Primary],[ISSN Secondary],[Journal Title], ...)
Select A.[Journal ISSN],A.[ISSN Primary], A.[ISSN Secondary], A.[Journal Title]
,pubYear = B.[Key] ,ImpactFactor = B.[Value]
From A_ADMIN_IMPACT_FACTORS_2020 A
Cross Apply ( Select *
From OpenJson((Select A.* For JSON Path,Without_Array_Wrapper ))
Where [Key] not in ('ID','ISSN Primary','ISSN Secondary','URL_Data','Journal ISSN'
,'Journal Title','Other','Columns','ToExclude', 'Category')
) B