使用Where子句插入表中

时间:2017-08-08 18:42:15

标签: sql stored-procedures ssms sql-insert

CONTEXT

我使用SQL Server Express来跟踪进出动作。我有两个表(table1,table2)。 Table1包含ID和startTime键,而Table2包含ID,startTime和endTime。

每当输入一个条目时,Table1中的所有键都会填充一行。然后将这些键插入表2中。

问题

我遇到的问题是我希望它能够识别表2中是否已存在ID - 如果存在,则更新该ID的行而不是创建新ID。 / p>

当前工作

for (name_answer.equals("no")) {
        String name_again;
        System.out.println("");
        System.out.println("What is your correct name?");
        name_again = user_input.next();

        System.out.println("");

        System.out.println("Your name is " + name_again + ". Is this correct? (yes/no)");
        name_answer = user_input.next();        
    }

提前感谢您的帮助!排序SQL新手,让我知道我能做些什么来改善我的问题。

1 个答案:

答案 0 :(得分:2)

这样的事情怎么样?

IF EXISTS (SELECT ID FROM Table2)
   Update Table2
   SET Table2.CURRENT_TIMESTAMP = Table1.CURRENT_TIMESTAMP  --However you want to update
   FROM Table2 tab2
   JOIN Table1 tab1 on Table1.ID = Table2.PTID
ELSE
   INSERT INTO Table2(ID, startTime)
   SELECT ID, CURRENT_TIMESTAMP
   FROM Table1