使用 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