欢迎投稿

今日深度:

TeraData从已有数据创建表 基本语法,

TeraData从已有数据创建表 基本语法,


创建一个新表dept1,该表与department表有同样的表定义
CREATE TABLE dept1 AS department WITH NO DATA; (WITH DATA)

复制表,增加fallback属性,增加次索引
CREATE TABLE dept1, FALLBACK AS department WITH NO DATA
UNIQUE INDEX (department_name);

使用子查询创建表,也就是只选择所需的列:
CREATE TABLE emp1 AS
(SELECT employee_number,department_number,salary_amount FROM employee)
WITH NO DATA;
子查询中可以使用连接,从多个表中复制数据。目标表的列还可以是计算或表达式

使用子查询,并修改列名
CREATE TABLE emp1 AS
(SELECT employee_number AS emp,department_number AS dept FROM employee)
WITH NO DATA;
同样的功能,还可以通过以下方式实现:
CREATE TABLE emp1(emp, dept) AS
(SELECT employee_number,department_number FROM employee)
WITH NO DATA;

这个例子改变了列的名字、属性和数据类型
CREATE TABLE dept1 (dept DEFAULT 0 UNIQUE NOT NULL,budget CHECK (budget > 0) ) AS
(SELECT department_number(INTEGER),budget_amount(INTEGER) FROM department)
WITH NO DATA;
数据类型的修改必须在SELECT语句中,不能在参数列表中

创建时,可以覆盖数据类型:
CREATE TABLE emp3(emp,last,hire,birth,hire_age) AS
(SELECT employee_number,last_name,hire_date,birthdate,(hire_date - birthdate)/365.25 (INTEGER)

WITH DATA;


创建一个全局临时表,并复制department表的数据:
CREATE GLOBAL TEMPORARY TABLE dept1 AS
(SELECT * FROM department)

WITH NO DATA;

修改临时表,可以保留记录:
ALTER TABLE dept1, ON COMMIT PRESERVE ROWS;

再从源表装载数据到临时表:
INSERT INTO dept1 SELECT * FROM department;

注:可变临时表和全局临时表不能使用WITH DATA选项来装载数据,必须使用INSERT 或INSERT SELECT来装载数据。

www.htsjk.Com true http://www.htsjk.com/teradata/29618.html NewsArticle TeraData从已有数据创建表 基本语法, 创建一个新表dept1,该表与department表有 同样的表定义 : CREATE TABLE dept1  AS  department WITH NO DATA; (WITH DATA) 复制表,增加 fallback 属性,增加 次索引...
相关文章
    暂无相关文章
评论暂时关闭