日期:2014-05-16  浏览次数:20513 次

Teradata数据库复制表

在Teradata数据库中如何复制一张表?

Teradata数据库提供了一些便于使用的命令和方法来复制表 – 包括DDL(表结构)和DML(数据)。

在TERADATA中复制表的示例

本示例的目的是把两张表从测试环境中迁移到产品中。详情如下:

  • DWDEV – 开发数据库(development database)
  • DWPROD – 产品数据库(production database)
  • D_PRODUCTS – 产品表,需要连同数据一起拷贝
  • F_ORDERS – 订单表,只需拷贝表结构

拷贝表结构和数据

在Teradata数据库中使用以下SQL语句拷贝表结构和数据:

CREATE TABLE DWPROD.D_PRODUCTS AS 
DWDEV.D_PRODUCTS WITH DATA;
使用以下语句可达到同样的效果:
CREATE TABLE DWPROD.D_PRODUCTS AS DWDEV.D_PRODUCTS
WITH NO DATA;
INSERT DWPROD.D_PRODUCTS SELECT * FROM DWDEV.D_PRODUCTS;
注意:如果源表中存在参考完整性约束或者identity columns,CREATE TABLE AS语句不会生效。

只拷贝表结构

Teradata使用以下语句只拷贝表结构:

CREATE TABLE DWPROD.D_PRODUCTS AS 
DWDEV.D_PRODUCTS WITH NO DATA;
或者
CREATE TABLE DWPROD.D_PRODUCTS AS
(
    SELECT * FROM DWDEV.D_PRODUCTS
)
WITH NO DATA;
英文原文:Copying tables in Teradata