update  g set g.出让公告=t.出让公告,g.示意图=t.示意图 from DBLink.tdxx.[dbo].[gpcr_land] g,#temp1 t  where g.id = t.主表id and g.id=(@maxid+1)其中出让公告和示意图是两个image字段,#temp1为临时表,@maxid为一变量,可以编译和执行的,执行完之后并没有更新

解决方案 »

  1.   

    可能是没有满足where 条件的数据
      

  2.   

    难道image类型不能update?单纯修改示意图能修改成功吗?
      

  3.   

    先确认有被更新的数据吗.select count(1)
    from DBLink.tdxx.[dbo].[gpcr_land] g,#temp1 t 
    where g.id = t.主表id and g.id=(@maxid+1)
      

  4.   

    SELECT  g.出让公告 , t.出让公告 , g.示意图 , t.示意图
    FROM    DBLink.tdxx.[dbo].[gpcr_land] g ,
            #temp1 t
    WHERE   g.id = t.主表id
            AND g.id = (@maxid + 1)select 一下看有没有数据
      

  5.   

    晕,示意图也是image的,先select出来看看有没有叔
      

  6.   

    额,这是在存储过程的游标里面,#temp1也是临时表,执行完之后就没了,我不好查啊
      

  7.   

     update  g set g.出让公告=t.出让公告,g.示意图=t.示意图 from DBLink.tdxx.[dbo].[gpcr_land] g,#temp1 t  where g.id=(@maxid+1)我想到了,#temp1表里就一条数据,不知道where 子居需要写#temp1的条件嘛,如果需要,写什么呢,没什么关联的
      

  8.   

    没有关联条件啊只有一条,如果gpcr_land的id唯一 那么就这么写吧。
      

  9.   

    如果只有一条的话连关联都免了拉,直接update 那个连接服务器的就可以拉
      

  10.   

    不错,我自己刚回完贴就自己试了一下,可以的,where 后面只写那一个条件就可以
      

  11.   

    可能是update语句不支持多张表连接。