oracle建立DBLINK去访问sql2000数据库 更新sql中表字段,
sql表字段flag 有空和‘0’,‘1’ 3中数据
为了防止抽取数据的过程中产生新的数据。
我现在需要把空和‘0’的数据选出来update成flag='9'
以方便我把数据抽到oracle中,语句如下,如何写and语句
能够得到我想要的结果?我尝试过nvl("flag",'0') 在select中可以,update中不行
isnull("flag",'0')也不行。flag字段数据 null,‘0’,‘1’update tbl_table_rev@sms
       set "flag" = '9'
     where "Dest"  = '123456899'
       --and "flag"  = 0 ;

解决方案 »

  1.   

    这个有意思. 你可以建立ORACLE中临时表,把数据读入,然后通过PL/SQL更新正确,再回写到MS SQL.
      

  2.   

    这样不行吗?update tbl_table_rev@sms 
          set flag = '9' 
        where Dest  = '123456899' 
          and (flag = '0' or flag is null); 
      

  3.   


    不行呢。
    PS:1楼的大大
    关键是那个机器我只有select、update的权限。
    不过方法可以借鉴。
    回头回去公司尝试一下,感谢了。
      

  4.   

    这个有意思. 你可以建立ORACLE中临时表,把数据读入,然后通过PL/SQL更新正确,再回写到MS SQL. 支持
    果然是奥巴马的哥哥----一匹黑马!