📅  最后修改于: 2023-12-03 14:44:55.890000             🧑  作者: Mango
当你需要在Oracle数据库中创建一个与已有表结构相似但没有数据的新表时,你可以使用以下SQL语句:
CREATE TABLE new_table AS SELECT * FROM existing_table WHERE 1=0;
这个语句将创建一个名为new_table
的新表,它包含与existing_table
相同的列和数据类型。然而,WHERE 1=0
子句确保不会从现有表中复制任何数据。
你也可以指定要复制的特定列,并将它们与新表中的不同列一起使用。下面是一个例子:
CREATE TABLE new_table (
id NUMBER(10),
name VARCHAR2(50),
address VARCHAR2(100)
);
INSERT INTO new_table (id, name, address)
SELECT id, name, address FROM existing_table WHERE 1=0;
这个语句将创建一个具有三个列的新表new_table
,您只需要复制existing_table
中的id
,name
和address
列到新表中。同样,WHERE 1=0
子句确保不会从现有表中复制任何数据。
总而言之,您可以使用上述语句在Oracle数据库中复制一个没有数据的表。