访问另一
GBase 8s
实例的 INSERT 语句(或任何其他 SQL
数据操纵语言语句) 都仅可引用下列数据类型:
- 透明的内建的数据类型
- BOOLEAN
- LVARCHAR
- 透明的内建的数据类型的 DISTINCT
- BOOLEAN 的 DISTINCT
- LVARCHAR 的 DISTINCT
- 出现在此列表内的任何 DISTINCT 数据类型的 DISTINCT。
跨服务器的分布式 INSERT 操作可支持这些 DISTINCT 类型,仅当 DISTINCT
类型被显式地强制转型为内建的类型时,而在每一参与的数据库中,以完全相同的方式定义所有 DISTINCT 类型、其数据类型层级及其强制转型。
跨服务器 DML 操作不可引用复杂、大对象的列或表达式,也不可引用用户定义的数据类型(UDT),不可引用不支持的 DISTINCT 或内建的 opaque 类型。要获得关于在跨服务器
DML 操作中
GBase 8s
支持的数据类型的信息,请参阅 跨服务器事务中的数据类型。
然而,访问本地
GBase 8s
实例的其他数据库的分布式操作可访问上列的跨服务器数据类型,以及下列数据类型:
- 大部分内建的 opaque 数据类型,如 跨数据库事务中的数据类型 中所列
- 在上一行中引用的内建的类型的 DISTINCT
- 罗列在上面两行中的任何数据类型的 DISTINCT
- 可被显式地强制转型为内建的数据类型的 opaque 用户定义的数据类型(UDT)。
跨数据库 INSERT 操作可支持这些 DISTINCT 和 opaque UDT,仅当所有的 opaque UDT 和 DISTINCT 类型都被显式地强制转型为内建的类型,
且在每一参与的数据库中以完全相同的方式定义所有 opaque UDT、DISTINCT 类型、数据类型层级和强制转型。
分布式 INSERT 事务不可访问另一
GBase 8s
实例的数据库,除非两个数据库在其 DBSERVERNAME 或 DBSERVERALIASES 配置参数以及在 sqlhosts 文件或 SQLHOSTS 注册子键中都定义 TCP/IP 或 IPCSTR 连接。支持相同类型连接(或 TCP/IP 或 IPCSTR)的参与服务器都需要适用于在
GBase 8s
实例之间的任何通信,即使都驻留在同一计算机上。