暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a指定列值加载

VV_刺头王 2022-04-08
829

    加载时,有时需要临时增加一列数据文件中不存在数据,如账期数据,且一批数据都是同样的值,就可以使用指定列值加载功能。用户可在加载语句中指定SET参数进行指定列值加载,具体语法如下:

LOAD DATA INFILE 'file_list'

INTO TABLE [dbname.]tbl_name 

[options]

 

options:

   ... ...

   [SET (col_name = value[, …])]

SET语法可以指定某些列的值,设定值只能是常量,包括字符串、整数值、浮点值和NULL。

1) 支持指定所有列类型加载值; 

2) 指定列值为常量值(包括 NULL),包括字符串(单引号包围)、十进制数值(10)、浮点值(10.9)、NULL、16 进制表示的字符串(0xbac3)、科学计数法(10e4); 

3) 支持多列同时指定加载值。最多可 SET 表列数-1,如果设置的列数与表定义中的列数一致将报错:Specified all fields; 

4) 支持 format=3、format=4 以及 format=5; 

 

eg:

表结构如下:

CREATE TABLE tb("a"varchar(10)DEFAULT NULL, 

"b" int(11) DEFAULT NULL, 

"c" datetime DEFAULT NULL, 

"d"varchar(10) DEFAULT NULL, 

"e"decimal(102)DEFAULT NULL);

数据文件内容如下:

Hello|01

Good|02

Better|03

指定列加载:

gbase>load data infile ’ ftp://gbase+gbase@192.168.182.134/data tbl’  into table llc.tb fielo set c=’ 2016-12-15 18:08:08’ ,d=’ default’ ,e=20.6;

Query OK, 3 rows affected(Elapzed: 00:00:00.47)

Task 131091 finished, Loaded 3 records, Skipped O records 

查看表数据:

gbase>select * from tb;

+--------+------+---------------------+---------+-------+

| a      | b    | c                   | d       | e     |

+--------+------+---------------------+---------+-------+

| Better |    3 | 2016-12-15 18:08:08 | default | 20.60 |

| Hello  |    1 | 2016-12-15 18:08:08 | default | 20.60 |

| Good   |    2 | 2016-12-15 18:08:08 | default | 20.60 |

+--------+------+---------------------+---------+-------+

3 rows in set (Elapsed:00:00:00.02)

 

使用限制说明: 

1) 输入除常量值外的其他值,如列名、表达式等会报错,报错信息为 Column 'addr' should be const value; 

2) 指定的列不能存在于 TABLE_FIELDS 中,否则报错; 

3) 如果没有指定 AUTOFILL,指定值的列数+数据中列数之和必须等于表定义或者TABLE_FIELDS (若指定了 TABLE_FIELDS)中的列数,否则会产生错误数据;如果指定了 AUTOFILL,则可以小于表定义的列数,缺少的列会自动补全。如果 TABLE_FIELDS 列数+SET 列数小于表定义的列数,能够正常加载,没有涉及的列按照 default 值补齐; 

4) 同一列在 SQL 中不能重复指定,否则报错。 

 

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论