Logo 专业的 数据库*大数据*数据挖掘 产品及方案提供商

导航

  • »
  • 数据库开发手册 »
  • SQL语言手册 »
  • 神通数据库与Oracle兼容特性 »
  • 神通数据库与Oracle DBLink的兼容性 »

DBLink远程更新¶

神通数据库可以在DML语句中更新DBLink远端表。对DBLink远端表的更新方式和对本地表的更新方式基本相同。DML语句的使用方式见 INSERT, UPDATE 和 DELETE。

注解

由于DBLink远端表是一种特殊的表,DML语句中的部分功能对其不适用。这里会详细叙述DBLink远程更新与对本地表的普通更新之间的区别。

  • DBLink远程更新不保证远端数据库和本地数据库事务的一致性。
  • 由于不需要本地定义即可引用DBLink远端表,因此DBLink远程更新时,本地不知道DBLink远端表的具体类型,无论远端数据库上它是表、分区表、视图或者物化视图等类型,在本地它只会被视为普通表。本地也不会感知到远端数据库上的索引、约束、触发器,这些只会在远端数据库上生效。
  • DBLink远程更新时,不允许在任何地方引用DBLink远端表的任何特殊列。比如
delete from td1@dbl1 returning rowid;
update td1@dbl1 set column = 'value' where rowid = 1;

这样的语句是不被允许的。

  • DBLink远程更新不支持对LOB对象的追加写和修改,只支持用新值替换旧值。

  • 当数据库参数ENABLE_DBLINK_DIRECT_MODIFY(session级参数,默认为TRUE)为TRUE,且DBLink远程更新的语句符合一定条件时,会将该语句完整地转发到远端数据库执行,此种执行模式为DBLink直接更新。

    • DBLink直接更新的效率比普通更新更高。可以使用explain命令对DBLink远程更新语句进行解析,如果使用了REMOTE DBLINK Modify Scan,则为DBLink直接更新。

导航

  • »
  • 数据库开发手册 »
  • SQL语言手册 »
  • 神通数据库与Oracle兼容特性 »
  • 神通数据库与Oracle DBLink的兼容性 »
    © 版权所有 2024, 天津神舟通用数据技术有限公司.
    最后更新于 Dec 17, 2024.