访问另一个
GBase 8s
实例的数据库的 DELETE 语句(或其它 SQL 数据操纵语言语句)只能引用以下数据类型:
- 不透明的内置数据类型
- BOOLEAN
- LVARCHAR
- 不透明的内置数据类型的 DISTINCT
- BOOLEAN DISTINCT
- LVARCHAR DISTINCT
- 出现在此列表中的任何 DISTINCT 数据类型的 DISTINCT
如果 DISTINCT 类型显式地强制转型为内置类型,并且所有的 DISTINCT
类型、它们的数据类型层次结构以及它们的强制转型在按同一方式定义在每个参与操作的数据库中,则跨服务器分布式 DELETE 操作可以支持这些 DISTINCT 类型。
跨服务器的 DML 操作不能引用复杂、大对象或者用户定义的不透明数据类型(UDT),或者不支持的 DISTINCT 类型或内置不透明类型的列或表达式。有关
GBase 8s
在跨服务器 DML 操作中支持的数据类型的其它信息,请参阅跨服务器事务中的数据类型。
但是,访问本地
GBase 8s
实例的其它数据库的分布式操作可以访问上述为跨服务器操作列出的数据类型,也能访问下列其它的数据类型大多数内置的不透明的:
- 大多数内置的不透明数据类型,如跨数据库事务中的数据类型 中所列
- 上面一行中引用的内置类型的 DISTINCT
- 上面两行中列出的任何数据类型的 DISTINCT
- 可以显式强制转型为内置数据类型的不透明的用户定义的数据类型(UDT)
如果所有的不透明和 DISTINCT UDT 都显式地强制转型成内置类型,同时所有的 UDT 、DISTINCT 类型,以及强制转型都定义在每个参与操作的数据库中,那么跨数据库的
DELETE 操作支持这些 DISTINCT 和不透明的 UDT 。
分布式 DELETE 不能访问另一个
GBase 8s
实例的数据库,除非这两个服务器在 DBSERVERNAME 或 DBSERVERALIASES 配置参数中定义了 TCP/IP 或 IPCSTR 连接。这一连接类型要求适用于
GBase 8s
实例间的所有通信,即使这两个数据库服务器都驻留在同一台计算机上。