我需要从一个表创建值的静态“副本”并将它们存储在另一个表中。
我知道如何执行此操作的最佳方法是从db获取值到我的应用程序,循环遍历它们并连接多个INSERT
语句,然后执行查询。
如果没有应用程序和数据库之间的往返,有没有办法做到这一点?
我希望这样的东西能起作用:
INSERT INTO dbo.StudentProject
VALUES (SELECT StudentID, ProjectID
FROM dbo.StudentProjectSimulation
WHERE SimulationID = 1)
但事实并非如此。
(一切都是int
,所以不用担心)
答案 0 :(得分:2)
你非常接近:
INSERT INTO dbo.StudentProject
SELECT StudentID, ProjectID
FROM dbo.StudentProjectSimulation
WHERE SimulationID = 1
答案 1 :(得分:2)
从values
子句中删除insert into
。
Insert Into dbo.StudentProject
Select StudentID, ProjectID
From dbo.StudentProjectSimulation
Where SimulationID = 1;
答案 2 :(得分:2)
或者明确定义要插入的列,使用以下内容替换Student_Col
和ProjectID_Col
中的dbo.StudentProject
Insert Into dbo.StudentProject
(
Student_Col,
ProjectID_Col
)
Select
StudentID,
ProjectID
From dbo.StudentProjectSimulation
Where SimulationID = 1