写点什么

YashanDB dblink 语法

作者:YashanDB
  • 2025-04-01
    广东
  • 本文字数:600 字

    阅读完需:约 2 分钟

# 使用说明

  • 通过 dblink 操作远端数据库的表时,需满足如下要求:

  • Note:

    在分布式部署中,操作远端表时采用列存,除下表所列数据类型要求外,还应遵循列存的数据类型支持范围




  • 在分布式部署中,无法对远端数据库的表进行 INSERT、UPDATE、DELETE、SEQUENCE、PROCEDURE 以及 FUNCTION 操作。

  • 在使用 dblink 的场景下,不支持通过二阶段提交(Two-phase Commit)保证所有资源同时提交或回滚某个事务。

# 查询远端表

对远端表进行SELECT操作时,存在如下约束:


  • 不能采用 table.column@dblink 形式。

  • 单次最多查询 32 个远端表。


示例

# 插入远端表

对远端表进行INSERT操作时,存在如下约束:


  • 不允许多表 INSERT。

  • 不允许指定分区 INSERT。

  • 不允许执行 INSERT DUPLICATE UPDATE 语句。

  • 不允许执行 INSERT RETURN 语句。

  • INSERT SELECT 不支持 LOB 类型。


示例(单机、共享集群部署)

# 更新远端表

对远端表进行UPDATE操作时,存在如下约束:


  • filter 与更新本地数据库的对象的 filter 相比:

  • 不能使用聚集函数。

  • 不能使用窗口函数。

  • 不能使用子查询。

  • 不能使用序列。

  • 不能使用自定义函数(包括 UPDATE SET 语句)。

  • 不允许多表 UPDATE。

  • 不允许指定分区 UPDATE。


示例(单机、共享集群部署)

# 删除远端表

对远端表进行DELETE操作时,存在如下约束:


  • filter 与删除本地数据库的对象的 filter 相比:

  • 不能使用聚集函数。

  • 不能使用窗口函数。

  • 不能使用子查询。

  • 不能使用序列。

  • 不能使用自定义函数。

  • 不允许多表 DELETE。

  • 不允许指定分区 DELETE。


示例(单机、共享集群部署)

发布于: 3 小时前阅读数: 7
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB dblink语法_数据库_YashanDB_InfoQ写作社区