是否有一种简单的方法可以将表复制到具有不同名称的同一数据库中。 我尝试了下面列出的一些,
db2 "CREATE TABLE SCHEMA.NEW_TB COPY AS SELECT * FROM SCHEMA.OLD_TB WHERE 1 = 2"
db2 "SELECT INTO SCHEMA.NEW_TB FROM SCHEMA.OLD_TB"
db2 "SELECT * FROM SCHEMA.OLD_TB INSERT INTO SCHEMA.NEW_TB"
这些都没有奏效 我正在使用db2 v9.5
答案 0 :(得分:35)
试试这个:
CREATE TABLE SCHEMA.NEW_TB LIKE SCHEMA.OLD_TB;
INSERT INTO SCHEMA.NEW_TB (SELECT * FROM SCHEMA.OLD_TB);
未复制的选项包括:
答案 1 :(得分:34)
您必须用括号括起选择部分。
CREATE TABLE SCHEMA.NEW_TB AS (
SELECT *
FROM SCHEMA.OLD_TB
) WITH NO DATA
应该有效。注意@Gilbert所说的不会复制的所有内容。
我在Linux / Unix / Windows上假设DB2,因为你说的是DB2 v9.5。
答案 2 :(得分:3)
两个步骤正常:
创建表bu_x为(从x中选择a,b,c,d)没有数据;
插入bu_x(a,b,c,d)从x中选择a,b,c,d;
答案 3 :(得分:-2)
CREATE TABLE NEW_TABLENAME LIKE OLD_TABLENAME;
适用于DB2 V 9.7