建议到oracle版去问.oracle的写法和SQL的不是完全相同的.

解决方案 »

  1.   

    update account set POST_ADDR=(select custom_temp.ADDR from account,custom_temp where account.CUST_ID=custom_temp.CUST_ID);
      

  2.   

    Oracle:
    update account set POST_ADDR=(select custom_temp.ADDR from account,custom_temp where account.CUST_ID=custom_temp.CUST_ID);SqlServer:
    update account
    set POST_ADDR=custom_temp.ADDR
    from account,custom_temp 
    where account.CUST_ID=custom_temp.CUST_ID这就是oracle与sqlserver众多区别中的一个。
      

  3.   

    update account
      2  set POST_ADDR=custom_temp.ADDR
      3  from account,custom_temp where account.CUST_ID=custom_temp.CUST_ID;分號要放在sql語句結束的地方.就可以了
    from account,custom_temp where account.CUST_ID=custom_temp.CUST_ID
    ==>
    update account
      2  set POST_ADDR=custom_temp.ADDR
      3  from account,custom_temp where account.CUST_ID=custom_temp.CUST_ID from account,custom_temp where account.CUST_ID=custom_temp.CUST_ID;
      

  4.   

    谢谢楼上各位的热心帮助了,开始以为ORICAL里SQL的语法完全一样了,现在看来还得弄本书看看
      

  5.   

    update account set POST_ADDR=(select custom_temp.ADDR from account,custom_temp where account.CUST_ID=custom_temp.CUST_ID);
    这样写的话只对于返回一个值是可以的,但两张表里有N个CUST_ID分别相等,SELECT返回值大于一个了,这样就要报错了,是不是要写个什么循环的