GBase 8a MPP Cluster 查询结果远程导出功能注意事项

1. rmt: 与 select_syntax 之间不能有空格
-- 可正确导出数据的语句:
rmt:SELECT * FROM cust INTO OUTFILE '/home/gbase/temp/cust.txt';
-- 会报语法错误的语句:
rmt: SELECT * FROM cust INTO OUTFILE '/home/gbase/temp/cust.txt';

2. file_path, 以及 FIELD_OPTION 中的字段分隔符,字段包围符,转义标识符等均必须用单引号 ' 包围,否则无法正常导出数据
-- 可正确导出数据的语句:
rmt:SELECT * FROM cust INTO OUTFILE '/home/gbase/temp/cust.txt';
-- 会报语法错误的语句:
rmt:SELECT * FROM cust INTO OUTFILE /home/gbase/temp/cust.txt;

3. 远程导出不支持顶层查询是 UNION 类查询
-- 会报语法错误的语句:
gbase> rmt:SELECT * FROM cust UNION SELECT * FROM product INTO OUTFILE '/home/gbase/temp/product.txt'; 

ERROR 1149 (42000): (GBA-02SC-1001) SELECT INTO OUTFILE with UNION is not supported.

4. 远程导出的目标文件如果已经在本地存在,则不能通过 select @@error_count 来获得错误数

远程导出的目标文件如果已经在本地存在,则不能通过 select @@error_count 来获得错误数,原因为文件是否存在由客户端判断,而 @@error_count服务端变量

-- 示例中所用的表及数据:
create table t(id int); 
insert into t values(1); 
-- 导出 SQL 语句:
gbase> rmt:select * from t into outfile '/home/gbase/t.txt'; 
Query OK, 1 row affected

gbase> rmt:select * from t into outfile '/home/gbase/t.txt'; 
ERROR:
File '/home/gbase/t.txt' already exists

gbase> select @@error_count; 
+---------------+
| @@error_count |
+---------------+
| 0             |
+---------------+
1 row in set
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值