update a set a.fd_user_name=b.fd_user_name
from tb_userreginfo a inner join tb_users b on a.fd_login_name = b.fd_login_name  and b.fd_user_name!=''
服务器: 消息 8152,级别 16,状态 9,行 1
将截断字符串或二进制数据。
语句已终止。能更新的就更新了 碰到错误就跳过 继续更新下一条 怎么写?

解决方案 »

  1.   

    update a set a.fd_user_name=b.fd_user_name
    from tb_userreginfo a inner join tb_users b on a.fd_login_name = b.fd_login_name  and b.fd_user_name!=''
    go
      

  2.   

    单从语句上可能无法实现,单独的 update 语句在发生错误时会回滚所有的修改。
    如果需要在更新错误时继续更新,要么使用游标,要么在 tb_userreginfo 表上创建 instead of update 触发器。
      

  3.   

    是users表里面有loginname相同的数据 所以更新不了  我要跳过 怎么写