南大通用GBase8s 常用SQL语句(四十五)

外部表的限制
确定外部表上不支持或具有限制范围的操作。
表 1 比较了支持数据库表和外部表的表操作。
表操作 数据库表 外部表
支持索引和:
主键
外键
唯一和非唯一索引
索引扫描
在执行查询时自动索引(autoindex)
索引连接 是 否,使用顺序扫描
支持触发器 是 否
MERGE 语句中表可以是目标 是 否。不允许作为目标允许作为源。请参阅 MERGE 示例
支持表分片 是 否
在 FROM 子句中允许多个数据库表 是 否。请参阅 查询示例
支持 DB-Access LOAD FROM … INSERT INTO 语句 是 否
清除表的 TRUNCATE TABLE 语句 是 否。使用 TRUNCATE 语句不会清除外部表中的数据。将数据库表中的数据卸载到外部表时会自动删除此外部表。
复制表数据 是 否
支持 UPDATE STATISTICS 语句 是 否
支持 UPDATE 和 DELETE 语句 是 否
支持 ALTER TABLE 语句 是 否
支持 LBAC 是 否
支持压缩 是 否
支持 START 和 STOP VIOLATIONS 语句 是 否
支持 TEMP 表 是 否
表列支持 EXTERNAL 数据类型 否 是
支持 DEFAULT 子句 是 否
支持 BLOB 和 CLOB 类型的 PUT 子句 是 否。可以使用 DATAFILES 指定 BLOBDIR 和 CLOBDIR。
SERIAL 、SERIAL8 和 BIGSERIAL 数据类型生成的 serial 数 是 否。这些数据类型被转换为等价的整型且不会生成 serial 值
使用 Enterprise replication (ER)时可以复制表 是 否
表的更改可被日志记录且可以复制 是 否。外部表是非日志记录的且不能被复制;然而系统目录表可以被复制。
支持 ACID (原子性、一致性、隔离性、持久性)属性 是 否
支持 ETL (提取、转换、加载) SQL 接口 不支持 ETL 操作的;然而,例如 dbload 、onload 、onunload 实用程序和 LOAD 、UNLOAD 语句支持。 支持使用简单的 SQL 接口,对高性能的数据加载和卸载,使用INSERT … SELECT 语句。
确定不支持高可用集群操作(请参阅 GBase 8s 管理员指南 中的高可用集群环境中的外部表)。
要从外部表加载 BLOB 或者 CLOB 对象,您必须重建临时 sbspace ,并在那个空间中创建临时智能大对象来存储来自外部表 BLOB 或 CLOB 数据。不支持从只读的辅助服务器加载 BLOB 或 CLOB 数据,因为您不能在只读的辅助服务器上创建临时智能大对象。
MERGE 示例
外部表不能是 MERGE 语句中的目标。例如:如果 ext 是一个外部表,以下将 ext 作为源表的 MERGE 语句是有效的:
MERGE INTO t1
USING ext ON t1.c1 = ext.c1
WHEN MATCHED THEN UPDATE
SET t1.c2 = ext.c2
WHEN NOT MATCHED THEN INSERT VALUES (99, ‘999’);
然而,以下语句因为把 ext 作为目标表而失败:
MERGE INTO ext
USING t1 ON ext.c1 = t1.c1
WHEN MATCHED THEN UPDATE
SET ext.c2 = t1.c2
WHEN NOT MATCHED THEN INSERT VALUES (99, ‘999’);
查询示例
只有最外层的查询才能有外部表引用。在任何查询中只允许一个外部表。例如:以下语句是允许的:
SELECT * FROM ext, t2 WHERE ext.c1 = t2.c1;
然而,以下语句是不允许的:
一个查询中不能指定多个外部表:
SELECT * FROM ext, ext3 WHERE ext.c1 = ext3.c1;
在子查询中不能使用外部表:
SELECT * FROM t1 WHERE t1.c1 IN (SELECT c1 FROM ext);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值