none
OPENQUERYの正しい仕様について RRS feed

  • 質問

  • SQL Server 2005から ORACLE10へリンクサーバで接続し、OPENQUERYを使用したデータの更新をテストしています。
    select文は問題なくできたのですが、update使用時に不思議な現象に遭遇しました。
    これは正しい仕様なのでしょうか?それとも他に原因があるんでしょうか?

    ①× エラー番号7320
    UPDATE OPENQUERY(OrclLink,'select COUNTRY_NAME from HR.COUNTRIES where COUNTRY_NAME = ''Japan''') SET COUNTRY_NAME = 'Japanb';

    ②× エラー番号7320
    UPDATE OPENQUERY(OrclLink,'select COUNTRY_NAME from HR.COUNTRIES ') SET COUNTRY_NAME = 'Japanb' where COUNTRY_NAME = 'Japan' ;

    ③× エラー番号7320
    UPDATE OPENQUERY(OrclLink,'select * from HR.COUNTRIES') SET COUNTRY_NAME = 'Japanb' where COUNTRY_NAME = 'Japan';

    ④○ なぜか成功
    UPDATE OPENQUERY(OrclLink,'select *from HR.COUNTRIES') SET COUNTRY_NAME = 'Japanb' where COUNTRY_NAME = 'Japan';

    ③と④の違いはfromの前のスペースのみです。しかもスペースがないと成功する意味が分かりません。
    2008年4月4日 4:49