如果我有一张表:
CREATE TABLE FRED
(
recordId number(18) primary key,
firstName varchar2(50)
);
是否有一种简单的方法可以将其结构(不是它的数据)克隆到另一个给定名称的表中。基本上我想创建具有完全相同结构但具有不同名称的表,以便我可以在其上执行某些功能。我明显想在代码中这样做。 Java最好,但大多数其他语言应该是相似的。
答案 0 :(得分:12)
如果您正在寻找一种方法来找到精确的DDL来重新创建表,包括存储子句,您可以使用
select dbms_metadata.get_ddl('TABLE', 'TABLE_NAME', 'SCHEMA_NAME') from dual
如here所述。
答案 1 :(得分:6)
CREATE TABLE tablename AS SELECT * FROM orginaltable WHERE 1 = 2;
编辑:WHERE子句禁止任何行符合条件。
答案 2 :(得分:0)
SELECT INTO TARGET_TABLE FROM SOURCE_TABLE;
OR
CREATE TABLE TARGET_TABLE_NAME AS SELECT * FROM SOURCE_TABLE;
如果只想复制结构,则添加Where子句WHERE 1=2
。
我希望这会有所帮助。