【发布时间】:2019-12-11 22:48:06
【问题描述】:
我正在通过从另一个表中进行选择来创建一个表。我的理解是,通过这样做,创建的列应该与原始源具有相同的数据类型。这不是几个专栏的情况,它让我发疯。特别是两列。一个是 Varchar2(4),另一个是 Varchar2(1),但在创建的表中它们都变成了 Varchar2(100)。有没有应该发生这种情况的情况?
我的选择查询相当复杂,因为有 20 个联合,但它们都来自同一个表。还有 28 列,所以我宁愿做这项工作,也不愿分两步创建表并填充它。
已知工会会搞砸这种脚本吗?
【问题讨论】:
-
VARCHAR2(100) 不是任意的。我敢打赌,您的各种联合中的字段之一是 VARCHAR2(100),Oracle 正在根据最大大小创建新表。不过,我不能肯定地说,至少没有看到您的 select 语句的相关部分。
标签: sql oracle union create-table sqldatatypes