pbsql(风云) ( )
可以举个简单例子说明一下吗?!非常感谢!!!

解决方案 »

  1.   

    解决问题要注意方法,要稍微理解sql工具的工作原理,对大量数据的处理最好想办法使用批处理
      

  2.   

    只要你说的详细,让我们帮写SQL语句
    我相信你的更新时间可降到5分种左右
      

  3.   

    pbsql(风云) ( )
    可以举个简单例子说明一下吗?!非常感谢!!!
    -----------------------
    应该是楼主自己说出具体要求才能确定。
      

  4.   

    也就是T1历史记录中存在,如果存在,就要分别进行12种状态判断,并分别对应update。
    -- 这部分小弟觉得似乎只能用游标来做了,大家有什么更好的建议吗?!----------------------------------------------------具体情况具体对待,未必需要通过游标,一个在楼主看来复杂的问题,用一条SQL语句解决也未尝不可
      

  5.   


    楼主的描述不是很清楚,根据楼主目前的描述楼主的主要问题包括:
    1.判断是否已在当前上报时间之前,也就是T1历史记录中存在
    2.存在,就要分别进行12种状态判断,并分别对应update
    3.对于没有重复的那部分上报数据,需要批量更新更新,也是和其他表需要关联
    4.T1表数据允许重复,T2表有主键字段A鉴于这种情况,个人建议做如下处理:
    1.建立一个上传数据临时表 temp_T1,结构与T1相同,增加一个标志字段 flag,默认值为0
    2.每天上传的数据上传到临时表 temp_T1
    3.与T1表进行关联,设置重复记录的 flag 为1,可以用类似下面的语句
    update a set flag=1
    from temp_T1 a
    where exists(
    select * from T1 where 字段A=a.字段A)
    4.根据 flag 状态与与其他表关联进行对应的更新处理(这部分处理楼主未描述,应该是能批量处理)
    5.将更新后的 temp_T1 表数据插入到 T1
    6.清空 temp_T1 以备接收后续数据
      truncate table temp_T1