久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

DM7外部表怎么指定

182次閱讀
沒有評論

共計 4006 個字符,預計需要花費 11 分鐘才能閱讀完成。

本篇內容主要講解“DM7 外部表怎么指定”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“DM7 外部表怎么指定”吧!

DM7 外部表
需指定如下信息:
1. 表名、表所屬的模式名;
2. 列定義;
3. 控制文件路徑。
語法格式
CREATE EXTERNAL TABLE 表名定義 表結構定義
表名定義 ::=[模式名 .] 表名
表結構定義 ::= (列定義 {, 列定義})

列定義 ::= 列名 數(shù)據(jù)類型
FROM 子句 = FROM 子句 1 | FROM 子句 2 | FROM 子句 3 | FROM 子句 4
FROM 子句 1 ::= FROM 控制文件路徑
FROM 子句 2 ::= FROM DATAFILE 數(shù)據(jù)文件路徑 [數(shù)據(jù)文件參數(shù)列表]
FROM 子句 3 ::= FROM 控制文件目錄 控制文件選項
FROM 子句 4 ::= FROM DATAFILE 數(shù)據(jù)文件目錄 數(shù)據(jù)文件選項 [數(shù)據(jù)文件參數(shù)列表]
數(shù)據(jù)文件參數(shù)列表 ::= PARMS(參數(shù)選項 {, 參數(shù)選項})
參數(shù)選項::= [FIELDS DELIMITED BY 表達式] | [RECORDS DELIMITED BY 表達式]|[ERRORS]|[BADFILE 數(shù)據(jù)文件路徑]| |[LOG 日志文件路徑 ]|[NULL_STR ]|[SKIP 跳過行數(shù) ]|[CHARACTER_CODE 文件字符集 ]
控制文件目錄 ::= DEFAULT DIRECTORY 控制文件目錄名
控制文件選項 ::= LOCATION (控制文件名)
數(shù)據(jù)文件目錄 ::= DEFAULT DIRECTORY 數(shù)據(jù)文件目錄名
數(shù)據(jù)文件選項 ::= LOCATION (數(shù)據(jù)文件名)

參數(shù)
1. 模式名 指明該表屬于哪個模式,缺省為當前模式;
2. 表名 指明被創(chuàng)建的外部基表名;
3. 列名 指明基表中的列名;
4. 數(shù)據(jù)類型 指明列的數(shù)據(jù)類型,暫不支持多媒體類型;
5. 控制文件路徑 指明使用的控制文件的路徑的字符串;
6. 數(shù)據(jù)文件路徑 指明使用的數(shù)據(jù)文件路徑的字符串;
7. 參數(shù)選項 FIELDS 表示列分隔符;RECORDS 表示行分隔符;ERRORS 表示忽略外部表數(shù)據(jù)轉換中出現(xiàn)錯誤的行數(shù),取值范圍為大于 0 的正整
數(shù),缺省為 0,表示不忽略錯誤。此處 ERRORS 和控制文件中的 ERRORS 寫一個就行,如果都寫,以控制文件中的為主;LOG 表示日志文件路徑,
默認日志文件名為 fldr.log;NULL_STR 指定數(shù)據(jù)文件中 NULL 值的表示字符串,默認忽略此參數(shù);SKIP 指定跳過數(shù)據(jù)文件起始的邏輯行數(shù),默
認為 0;CHARACTER_CODE 指定數(shù)據(jù)文件中數(shù)據(jù)的編碼格式,默認為 GBK,可選項有 GBK,UTF-8,SINGLE_BYTE 和 EUC-KR;
8. 表達式 字符串或十六進制串類型表達式,列分隔符只允許字符串類型;
9. 控制文件目錄名 指數(shù)據(jù)庫對象目錄的名稱。
圖例

語句功能
供 DBA 或具有 CREATE_TABLE 權限的用戶定義外部基表。MPP 環(huán)境下不支持創(chuàng)建外部表。
使用說明
1. 表名 指定了所要建立的外部基表名。如果 模式名 缺省,則缺省為當前模式。表名需要是合法的標識符。且滿足 SQL 語法要求;
2. 外部表的表名最大長度為 128 個字符;
3. 所建外部基表至少要包含一個 列名 指定的列,在一個外部基表中,各 列名 不得相同。一張外部基表中至多可以包含 2048 列;
4. 外部基表不能存在大字段列;
5. 外部基表不能存在任何約束條件;
6. 外部基表不能為臨時表,不能建立分區(qū);
7. 外部基表上不能建立任何索引;
8. 外部基表是只讀的,不存在表鎖,不允許任何針對外部表的增刪改數(shù)據(jù)操作,不允許 truncate 外部表操作;
9. 控制文件路徑,以及數(shù)據(jù)文件路徑建議采用絕對路徑;
10. 控制文件的格式為:

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

其中:
OPTIONS 選項:可選部分,目前 OPTIONS 中僅支持 errors 選項,用于指定忽略數(shù)據(jù)轉換出現(xiàn)錯誤的行數(shù);此處 errors 和 參數(shù)選項 中的 errors 寫一個就行,如果都寫,以此處控制文件中的為主。
:指明使用的數(shù)據(jù)文件列表;
tablename:指明表名,創(chuàng)建外部表時,表名可以與此不同;
:指明同一行中各個列的分隔符;
11. 數(shù)據(jù)文件中一行數(shù)據(jù)必須以回車結束;
12. 外部表支持查詢 ROWID、USER 和 UID 偽列,不支持查詢 TRXID 偽列。

舉例說明
例 1 指定操作系統(tǒng)的一個文本文件作為數(shù)據(jù)文件,編寫控制文件及建表語句。數(shù)據(jù)文件(/home/dmdba/data.txt),數(shù)據(jù)如下:

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.

系統(tǒng)執(zhí)行建表語句后,就在數(shù)據(jù)庫中建立了相應的外部基表。查詢 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 指定操作系統(tǒng)的一個文本文件作為數(shù)據(jù)文件(/home/dmdba/data1.txt),數(shù)據(jù)如下:

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 外部表怎么指定”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-07-18發(fā)表,共計4006字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網(wǎng)絡搜集發(fā)布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 康保县| 兰西县| 太湖县| 贡觉县| 垦利县| 华安县| 始兴县| 宁晋县| 乌兰浩特市| 万盛区| 大渡口区| 仲巴县| 石门县| 大冶市| 蕲春县| 津南区| 大渡口区| 阜新市| 大邑县| 保亭| 盘锦市| 信丰县| 天津市| 福清市| 紫金县| 肃南| 连云港市| 宜宾市| 白银市| 舒兰市| 鄂托克前旗| 咸阳市| 玉树县| 托克托县| 朝阳市| 台南县| 德格县| 浙江省| 台江县| 上蔡县| 安泽县|