在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