从列表或数组值中将值插入 SQL

Insert Values Into SQL from a List OR Array Values

我需要从另一个具有多个结果的 select 语句将值插入到 table 中。但是,我不能一一完成。有什么方法可以更有效地将值插入 table?

SELECT DISTINCT KID FROM K_Table

KID
1
2
5
7
15
...

从第一个 DISTINCT SELECT 语句开始,它将 select 多个 KID 结果,结果可能多达 100 行。

INSERT INTO K_Table VALUES(Listof(KID)[0],'Default','ABC',GETDATE()),  
                            (Listof(KID)[1],'Default','ABC',GETDATE()),
                            (...)

是否能够从 SELECT 语句中获取结果并将其作为数组或列表以用于插入值?

可以直接使用insert into .. select..如下:

INSERT INTO K_Table 
Select distinct KID,'Default','ABC',GETDATE()
  From k_table; 

但是,我不知道你为什么要向同一个 table 添加数据。

您可以在一条语句中将 INSERT 与 SELECT 一起使用

INSERT INTO K_Table(Kid, Col1, Col2, Col3) SELECT DISTINCT Kid, 'Default', 'ABC', Getdate() FROM K_Table