在DB2数据库中,复制已经存在的表的结构及其数据。我们采用两步走方式:第一步先复制表结构,第二部拷贝数据。
第一步:复制表结构
方法一:
Create table test_Rate as (select * from t_Rate) Definition only; --test_Rate是新表,t_Rate是老表
方法二:
Create table test_Rate like t_Rate; --test_Rate 是新表,t_Rate是老表
说明:上述方式创建的新表不复制老表的主键,约束,索引,非空,默认值,数据。且创建的新表放在用户的临时表空间中。
/*----查询新表test_Rate的主键,表空间----*/ select keycolumns,keyindexid,tbspace from syscat.tables where tabname='TEST_RATE' --keycolumns:表示有几个字段组成联合主键,keyindexid:等于0表示没有主键
/*----查询新表test_Rate的索引----*/ select * from syscat.indexes where tabname='TEST_RATE'; --上述查询有记录表示表有索引,反之没有
/*----查询新表test_Rate的记录条数----*/ select count(1) from test_Rate
第二步:插入数据
insert into test_Rate select * from t_Rate where '条件';
通过以上操作,会拷贝t_Rate的表结构及数据至test_Rate表上。