首页 > 数据库 > 国内数据库 > YashanDB dblink语法
该语法用于YashanDB(源端)对远端数据库(目的端)的表操作,目的端可以为同构数据库(YashanDB)或异构数据库(Oracle)。
dblink_name指在 CREATE DATABASE LINK时所创建的远端数据库名称。
通过dblink操作远端数据库的表时,需满足如下要求:
Note:
在分布式部署中,操作远端表时采用列存,除下表所列数据类型要求外,还应 遵循列存的 数据类型支持范围。
| 目的端为Oracle | 目的端为YashanDB |
|---|---|
| 需先 安装libaio库和下载Oracle Instant Client安装包。 | - |
| 远端表字段需为下列数据类型:
SMALLINT INT FLOAT/BINARY_FLOAT BINARY_DOUBLE NUMBER/DECIMAL DATE TIMESTAMP INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND CHAR VARCHAR NCHAR NVARCHAR VARCHAR2 NVARCHAR2 RAW BLOB(源端为分布式部署时,不适用) CLOB(源端为分布式部署时,不适用) NCLOB(源端为分布式部署时,不适用) TIMESTAMP WITH TIME ZONE(源端为分布式部署时,不适用) TIMESTAMP WITH LOCAL TIME ZONE(源端为分布式部署时,不适用) |
远端表字段需为下列数据类型:
TINYINT SMALLINT INT BIGINT FLOAT/BINARY_FLOAT DOUBLE/BINARY_DOUBLE NUMBER BIT BOOLEAN DATE TIME TIMESTAMP INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND CHAR VARCHAR RAW ROWID(源端为分布式部署时,不适用) |
在分布式部署中,无法对远端数据库的表进行INSERT、UPDATE、DELETE、SEQUENCE、PROCEDURE以及FUNCTION操作。
在使用dblink的场景下,不支持通过 二阶段提交(Two-phase Commit)保证所有资源同时提交或回滚某个事务。
对远端表进行 SELECT操作时,存在如下约束:
示例
对远端表进行 INSERT操作时,存在如下约束:
示例(单机、共享集群部署)
对远端表进行 UPDATE操作时,存在如下约束:
示例(单机、共享集群部署)
对远端表进行 DELETE操作时,存在如下约束:
示例(单机、共享集群部署)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3079695/ ,如需转载,请注明出处,否则将追究法律责任。