欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

达梦数据库外部表

程序员文章站 2024-03-21 09:51:28
...

定义

外部表顾名思义,存储在数据库外面的表,外部表的数据是存储在操作系统中,是操作系统文件。建立外部表的时候,不会产生段,页,簇等存储结构,只有与表相关的定义放在数据字典中,不能对外部内容进行修改(update,insert,delete),不能对外部表建立索引。不需将外部表的数据装载到数据库中来,通过 sql 解码器来访问外部表。

如何建立外部表

模式名,表名,列定义,外部表控制路径。
Create external table <表名> <表结构定义> from <控制文件路径>|<数据文件路径><参数>;

示例1:

[dmdba@localhost ~]$ cat a.txt 
1,a
2,bb
3,ccc
4,dddd
[dmdba@localhost ~]$ cat a.ctl 
LOAD DATA
INFILE '/home/dmdba/a.txt'
INTO TABLE EXT
FIELDS ','

SQL> create external table ext(ID INT,NAME VARCHAR(20)) from '/home/dmdba/a.ctl';
操作已执行
已用时间: 16.206(毫秒). 执行号:400.
SQL> select * from ext;

行号     ID          NAME  
---------- ----------- ------
1          1           a
2          2           bb
3          3           ccc
4          4           dddd

已用时间: 21.918(毫秒). 执行号:401.

示例2:

[dmdba@localhost ~]$ cat b.txt 
1|2|3
4|3|2|5
1|3|4|5
6|7

SQL> create EXTERNAL TABLE ext1(c1 int, c2 int, c3 int) from datafile '/home/dmdba/b.txt' parms(fields delimited by '|');
操作已执行
已用时间: 29.765(毫秒). 执行号:500.
SQL> select * from ext1;

行号     C1          C2          C3         
---------- ----------- ----------- -----------
1          1           2           3
2          4           3           2
3          1           3           4
4          6           7           NULL

已用时间: 5.803(毫秒). 执行号:501.
相关标签: 达梦