oracle OBDC方式 通过DBlink连接到postgreSQL。
oracle数据库中SQL更新postgreSQL表数据,无法执行带条件的更新语句。
语句为update "AAA"@Tj set "A1"='1' where "A2"='1';
错误提示
如果只执行update "AAA"@Tj set "A1"='1' 不加where条件是可以执行的。
请问如何调整?
oracle OBDC方式 通过DBlink连接到postgreSQL。
oracle数据库中SQL更新postgreSQL表数据,无法执行带条件的更新语句。
语句为update "AAA"@Tj set "A1"='1' where "A2"='1';
错误提示
如果只执行update "AAA"@Tj set "A1"='1' 不加where条件是可以执行的。
请问如何调整?
根据您提供的情况,可能是由于Oracle ODBC驱动程序与PostgreSQL之间存在一些兼容性问题导致的。为了解决这个问题, 您可以尝试以下两种方法中的一种:
修改UPDATE语句,采用不带条件的更新方式,然后在Oracle数据库中添加一个过滤器来筛选需要更新的行。例如,您可以将update "AAA"@Tj set "A1"='1' where "A2"='1' 改为 update "AAA"@Tj set "A1"='1' 然后通过SELECT语句和过滤器来获取需要更新的行,例如:SELECT * FROM "AAA"@Tj WHERE "A2"='1',然后使用该SELECT结果集来更新数据。
更换Oracle ODBC驱动程序版本或升级,确保它与PostgreSQL的版本兼容。您可以尝试使用ODBC驱动程序的最新版本或与您正在使用的PostgreSQL版本兼容的ODBC驱动程序版本。
希望这些方法能够帮助您解决问题。