0

我有一个表命名Table1如下

ID, JobNo, Date, Comments

我有一个名为的视图,View1它是在另一个只读表中的同义词的帮助下创建的,如下所示,

ID, JobNo, StartSeq, EndSeq

该列ID是主键。我将不得不使用UPDATETable1 的列IDJobNo来自的数据View1

假设View1有 2 行,我INSERT将这 2 行放入 Table1。因此,当View1获得第 3 行时,如何Table1使用第 3 行的信息更新,而不删除先前存储在 Table1 中的数据。

现在,我有以下查询,但由于重复主键问题,它似乎不起作用。

INSERT INTO Table1(ID, JobNo)
SELECT View1.ID, View1.JobNo
FROM View1

我是 SQL 的新手,所以请帮我解决这个问题

4

1 回答 1

0

假设您只想INSERT在 table1 上添加新数据,而不是实际上UPDATE已经拥有的数据,那么您应该这样做:

INSERT INTO Table1(ID, JobNo) 
SELECT View1.ID, View1.JobNo 
FROM View1
WHERE View1.ID NOT IN (SELECT ID FROM Table1)
于 2012-04-23T12:29:00.887 回答