使用相同架构在SQL中创建新表
答
听起来好像你想创建一个名为W_UK的表,它具有与W_US相同的列和类型。你可以做到以下几点:
create table W_UK as
select *
from W_US
where 1 = 2;
+2
这将创建一个具有相同列规格的表:名称,数据类型和null/not null。它不会创建任何其他约束(检查,外键,主键,唯一),授予,触发器或其他索引。如果您需要制作一张完全符合它的表格,请查阅DBMS_METADATA.GET_DDL函数以使DDL将其转换为您喜欢的形式。 – 2010-02-14 04:28:18
答
这些排序的问题是一个警告标志,因为显而易见的解决方案是克隆的W_US的CREATE TABLE脚本(通过神奇的“另存为...”),并编辑克隆,所以它创建W_UK。
事实上,这条道路似乎对您不利,这表明您没有源代码管理下的DDL语句。这是一个糟糕的情况。我们所有的代码都应该受源代码控制,包括构建数据库模式的脚本。
为什么你想要一个单独的表?而不是说一个带有COUNTRY_CODE列的表来区分记录。 – APC 2010-02-14 06:40:53