我在做一个ping测设备的程序,要求把需要ping测的设备ip等信息存入数据库。程序功能分为两种,一个是全网ping测,一个是选择全网中的几个设备进行ping测。数据库中的字段如下:JOB_ID DEV_ID DEV_IP分别表示任务id、设备id、设备ip。现在是这样,如果我选择了全网ping测,就把所有1000个设备信息插入了数据库(他们的JOB_ID是相同的,因为是同一个任务)。如果我想把这条任务修改成选择设备ping测,比如选了10个设备,那我就要把这10个设备的信息更新到数据库中(JOB_ID是不变的),也就是说用这10条数据替换掉原来的1000条数据(相反,从选择设备改为全网也是一样的更新)我现在的办法是先把原来的数据全删掉,再把新数据全插入,这样不合适吧,能不能一条sql搞定啊?
我觉得能,就是组织不好逻辑,不知道怎么写,请大侠们指教啊!

解决方案 »

  1.   

    你现在做的是删除之前的内容然后再插入新的内容,这样的话写一条sql语句肯定是不行的啊!
    你必须是写多条,我觉得写在一个.sql文件中不是就可以吗?
    用多条sql来实现,为什么必须要一条呢?
      

  2.   

    我说的一条sql不是用我的办法,是能够实现我要求的批量更新
      

  3.   

    目前的方式正是符合逻辑的。只不过多执行了一个 SQL 而已,效率上差别不大。如果是用更新,反而要加进复杂的逻辑,不合算。