DM7如何指定外部表?

技术DM7外部表怎么指定本篇内容主要讲解“DM7外部表怎么指定”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“DM7外部表怎么指定”吧!DM7 外部表需指定如下信息:1. 表名

本文主要讲解“如何指定DM7外部表”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“如何指定DM7外接表”!

DM7外部表

指定以下信息:

1.该表所属的表名和架构名;

2.列定义;

3.控制文件路径。

语法格式

创建外部表表名定义表结构定义;

表名定义:3360=[架构名。]表名

表定义:3360=(列定义{,列定义})

列定义:3360=列名数据类型

FROM子句=FROM子句1 | FROM子句2 | FROM子句3| FROM子句4

FROM子句1 :=FROM“控制文件路径”

FROM子句2 :=FROM DATAFILE“数据文件路径”[数据文件参数列表]

FROM子句3 :=FROM控制文件目录控制文件选项

FROM子句4 :=FROM DATAFILE数据文件目录数据文件选项[数据文件参数列表]

数据文件参数列表:=PARMS(参数选项{,参数选项})

参数:=[field DECLARED BY表达式]|[RECORDS DECLARED BY表达式]|[ERRORS]|[BADDFILE '数据文件路径']| |[日志文件路径]|[null _ str]|[跳过的行]| [Character _ code文件字符集]

控制文件目录:=DEFAULT DIRECTORY控制文件目录名

控制文件选项:=LOCATION(控制文件名)

数据文件目录:3360=默认目录数据文件目录名

数据文件选项:=LOCATION(数据文件名)

参数

1.模式名称表示表属于哪种模式,默认为当前模式;

2.表名表示创建的外部基表的名称;

3.列名是指明基表中的列名;

4.数据类型表示列的数据类型,暂时不支持多媒体类型;

5.控制文件路径是一个字符串,表示所使用的控制文件的路径;

6.数据文件路径指示所用数据文件路径的字符串;

7.参数选项FIELDS表示列分隔符;RECORDS表示行分隔符;ERRORS是指在外部表的数据转换中忽略有错误的行数,取值范围为大于0的正整数。

Number,默认值为0,这意味着不会忽略错误。这里,只需在控制文件中写入ERRORS和ERRORS之一。如果两个都写了,控制文件中的那个就是主文件。日志表示日志文件路径,

默认日志文件名是fldr.log;NULL_STR指定数据文件中NULL值的表示字符串;默认情况下,此参数被忽略;SKIP指定跳过数据文件开头的逻辑行数,无提示。

认为0;CHARACTER_CODE指定数据文件中数据的编码格式,默认为GBK,可选选项有GBK、UTF-8、SINGLE_BYTE、EUC-KR;

8.表达式字符串或十六进制字符串类型表达式,列分隔符只允许字符串类型;

9.控制文件目录名是指数据库对象目录的名称。

神话;传奇

DM7外部表怎么指定

DM7外部表怎么指定

DM7外部表怎么指定

DM7外部表怎么指定

语句函数

对于数据库管理员或具有CREATE_TABLE权限来定义外部基表的用户。MPP环境不支持创建

外部表。
使用说明
1. < 表名>指定了所要建立的外部基表名。如果< 模式名>缺省,则缺省为当前模式。表名需要是合法的标识符。且满足SQL语法要求;
2. 外部表的表名最大长度为128个字符;
3. 所建外部基表至少要包含一个< 列名>指定的列,在一个外部基表中,各< 列名>不得相同。一张外部基表中至多可以包含2048列;
4. 外部基表不能存在大字段列;
5. 外部基表不能存在任何约束条件;
6. 外部基表不能为临时表,不能建立分区;
7. 外部基表上不能建立任何索引;
8. 外部基表是只读的,不存在表锁,不允许任何针对外部表的增删改数据操作,不允许truncate外部表操作;
9. 控制文件路径,以及数据文件路径建议采用绝对路径;
10. 控制文件的格式为:

[OPTIONS(
errors=
)]
LOAD [DATA]
INFILE [LIST] |
INTO TABLE tablename
FIELDS

其中:
OPTIONS选项:可选部分,目前OPTIONS中仅支持errors选项,用于指定忽略数据转换出现错误的行数;此处errors 和< 参数选项>中的errors写一个就行,如果都写,以此处控制文件中的为主。
:指明使用的数据文件列表;
tablename:指明表名,创建外部表时,表名可以与此不同;
:指明同一行中各个列的分隔符;
11. 数据文件中一行数据必须以回车结束;
12. 外部表支持查询ROWID、USER和UID伪列,不支持查询TRXID伪列。

举例说明
例1 指定操作系统的一个文本文件作为数据文件,编写控制文件及建表语句。数据文件(/home/dmdba/data.txt),数据如下:

a|abc|varchar_data|12.34|12.34|12.34|12.34|0|1|1|1234|1234|1234|100|11|1234|1|1|14.2|12.1|12.1|1999-10-01|9:10:21|2002-12-12|15

控制文件(/home/dmdba/ctrl.txt)如下:

load data
infile '/home/dmdba/data.txt'
into table ext
fields '|'

建表:

SQL> create external table ext (
2   l_char char(1),
3   l_character character(3),
4   l_varchar varchar(20),
5   l_numeric numeric(6,2),
6   l_decimal decimal(6,2),
7   l_dec dec(6,2),
8   l_money decimal(19,4),
9   l_bit bit,
10  l_bool bit,
11  l_boolean bit,
12  l_integer integer,
13  l_int int,
14  l_bigint bigint,
15  l_tinyint tinyint,
16  l_byte byte,
17  l_smallint smallint,
18  l_binary binary,
19  l_varbinary varbinary,
20  l_float float,
21  l_double double,
22  l_real real,
23  l_date date,
24  l_time time,
25  l_timestamp timestamp,
26  l_interval interval year
27  )from '/home/dmdba/ctrl.txt';
executed successfully
used time: 62.123(ms). Execute id is 312.

系统执行建表语句后,就在数据库中建立了相应的外部基表。查询ext表:

SQL> select * from ext;
LINEID     L_CHAR L_CHARACTER L_VARCHAR    L_NUMERIC L_DECIMAL L_DEC L_MONEY L_BIT L_BOOL L_BOOLEAN L_INTEGER   L_INT       L_BIGINT             L_TINYINT   L_BYTE      L_SMALLINT  L_BINARY L_VARBINARY L_FLOAT                   L_DOUBLE                  L_REAL             L_DATE     L_TIME          L_TIMESTAMP                 L_INTERVAL           
---------- ------ ----------- ------------ --------- --------- ----- ------- ----- ------ --------- ----------- ----------- -------------------- ----------- ----------- ----------- -------- ----------- ------------------------- ------------------------- ------------------ ---------- --------------- --------------------------- ---------------------
1          a      abc         varchar_data 12.34     12.34     12.34 12.3400 0     1      1         1234        1234        1234                 100         11          1234        0x01     0x01        1.420000000000000E+01     1.210000000000000E+01     1.2100000E+01      1999-10-01 09:10:21        2002-12-12 00:00:00.000000  INTERVAL '15' YEAR(2)
used time: 7.248(ms). Execute id is 314.

例 2 指定操作系统的一个文本文件作为数据文件(/home/dmdba/data1.txt),数据如下:

10|9|7
4|3|2

建表:

SQL> create external table ext_2(c1 int,c2 int,c3 int) from datafile '/home/dmdba/data1.txt' parms(fields delimited by '|');
executed successfully
used time: 11.008(ms). Execute id is 331.

查询结果:

SQL> select * from ext_2;
LINEID     C1          C2          C3         
---------- ----------- ----------- -----------
1          10          9           7
2          4           3           2
used time: 8.222(ms). Execute id is 332.

到此,相信大家对“DM7外部表怎么指定”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/154584.html

(0)

相关推荐

  • C++三只小猪谁最重

    技术C++三只小猪谁最重 C++三只小猪谁最重C++选择结构学习小案例#includeiostream
    using namespace std;int main()
    {int A = 0;cout "

    礼包 2021年12月2日
  • 如何理解ansible自动化运维数据库

    技术如何理解ansible自动化运维数据库这期内容当中小编将会给大家带来有关如何理解ansible自动化运维数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 通过ansible

    攻略 2021年11月12日
  • 避免,自媒体视频如何避免侵权

    技术避免,自媒体视频如何避免侵权首先要对于我们自媒体来说,侵权的范围一般来说就是三类避免:视频类,图片类,字体配乐类。独角shou就因为字体侵权被索赔十几万,损失惨重。不过知名度不高的账号的话,一般不会收到音乐字体类的侵

    生活 2021年10月21日
  • 如何用Python实现图像文字识别OCR工具

    技术如何用Python实现图像文字识别OCR工具这篇文章主要介绍“如何用Python实现图像文字识别OCR工具”,在日常操作中,相信很多人在如何用Python实现图像文字识别OCR工具问题上存在疑惑,小编查阅了各式资料,

    攻略 2021年12月11日
  • 立体爱心,怎样用吸管折星星拼出立体桃心

    技术立体爱心,怎样用吸管折星星拼出立体桃心1、先把吸管压平了,对折成一个直角,中心点会有一个小三角立体爱心。(打开时你会发现有一条斜的折痕) 2、把压在底下那根吸管折到上方,再把下面那根也折到上方。3、然后原本的小三角变

    生活 2021年10月24日
  • Flink 的运行架构详细剖析

    技术Flink 的运行架构详细剖析 Flink 的运行架构详细剖析1. Flink 程序结构
    Flink 程序的基本构建块是流和转换(请注意,Flink 的 DataSet API 中使用的 DataS

    礼包 2021年11月4日