Sql 仅向行插入新值或编辑的值

Sql 仅向行插入新值或编辑的值,sql,Sql,我有如下的考勤表 ID Date Time == ==== ==== 1 01/01/2013 17:00:00 1 01/01/2013 22:00:00 然后,这些表将通过一个存储过程获得进程,该存储过程计算总小时数、扣减、费率等。。将存储在另一个表中,并以以下结果为例 ID Date TimeIn TimeOut Thours

我有如下的考勤表

ID         Date        Time
==         ====        ====
1          01/01/2013  17:00:00
1          01/01/2013  22:00:00
然后,这些表将通过一个存储过程获得进程,该存储过程计算总小时数、扣减、费率等。。将存储在另一个表中,并以以下结果为例

ID         Date          TimeIn         TimeOut       Thours         Salary
==         ====          ======         =======       ======         ======
 1         01/01/2013     17:00         22:00          5             $50
我们现在所做的是运行select if exist。然后删除表。为了更新第一个表中的编辑条目,即未命中穿孔

然后,第二个表将通过另一个存储过程获取进程,以进行时间舍入,以及根据结果添加标记等。。然后存储在一个较大的表中,该表包含激励、加班、预付等字段。。等此表将用于通过windows窗体最终插入附加数据

现在,我们遇到了这样一种情况:我们试图只向第三个表中添加新行。由于第二个表总是在更新时被删除和重新创建,并且执行exist update等似乎不起作用,并且似乎无法依赖第二个表的唯一键,因为它将在更新时重新创建


感谢您对我们如何保留第三张表供用户编辑的任何建议

只需将第一个表中的id添加到第二个表中,并将客户或您正在做的任何人添加到第二个表中,这样您就不必在更新时删除第二个表中的条目

只需检查第二个表中的人员id与第一个表的id是否匹配


那么第三个表也有第二个表id

您是否可能与您坐在同一个班级?啊。不在发帖之前,我自己尝试过几种方法,我要求的是“建议”,而不是解决方案。谢谢:)好的,我只是想知道,因为你们都谈到了与会者。在征求建议时,最好包括你已经尝试过的内容以及为什么它不适合你。这样,人们就可以专注于你还没有尝试过的东西,或者告诉你为什么你的尝试失败了,以及需要做哪些改变才能让它们奏效。谢谢你的提醒。我相信我现在脑子里乱七八糟的,但是我已经说过了。我不是专家,缺乏经验。也许只是需要休息一下,重新考虑一下整个事情,也许开始加入第一个表,将输入输出时间存储在一行2行的instate中。啊哈!!!!当你被难倒的时候,后退一步总是个好主意。谢谢你的建议。但正如我提到的那样,这不起作用。第一个和第二个表在编辑后被删除并重新创建。因此,ID不会有多大帮助。但是我确实在用户ID和第一个时钟时间上使用了merge使其工作,其中useID和时钟时间日期匹配。更新,如果不匹配,则执行插入。。