使用 SAMEAS 子句

SAMEAS template 子句使用在新表的定义中 template 表的所有的列名称及其数据类型。

您不能对固定格式的文件使用 SAMEAS 子句。

示例

考虑将定界的 ASCII 文本文件加载到具有以下结构的表中:
TABLE employee (
          name CHAR(18) NOT NULL,
          hiredate DATE DEFAULT TODAY,
          address VARCHAR(40),
          empno INTEGER);
SQL 语句可使用以下方法将数据加载到 employee 表:
CREATE EXTERNAL TABLE emp_ext 
          SAMEAS employee
          USING (
          DATAFILES ("DISK:/work2/mydir/emp.dat"),
          REJECTFILE "/work2/mydir/emp.rej" 
          );
          INSERT INTO employee SELECT * FROM emp_ext;

外部表都具有与源表每一列相同的名称、类型和缺省值,因为 CREATE 语句包含 SAMEAS 关键字。缺省的格式是定界的,因此不需要任何格式化关键字。

定义在数据库表中列上的检查约束不会为外部表继承。然而,NOT NULL约束会被外部表继承。

定界文件缺省为 ASCII 。缺省的行定界符是行结束字符,除非您在创建外部表时使用 RECORDEND 关键字定义不同的定界符。(RECORDEND 关键字只对定界格式有效。)