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