从多个来源在 Oracle 中创建数据库表

Posted

技术标签:

【中文标题】从多个来源在 Oracle 中创建数据库表【英文标题】:Creating a database table in Oracle from multiple sources 【发布时间】:2012-11-14 15:50:20 【问题描述】:

我从两个不同的表源获取数据。将它们组合成一个的最佳方法是什么?

例如:

表一有以下列:

date | time | exchange 

表二有以下列:

date | time | price | position

我想将它们组合起来,以便创建一个包含以下内容的表格:

date | time | exchange | position | price

有时位置和交换列是空的。创建这个新表的最佳方法是什么?

【问题讨论】:

这些字段为空有什么问题? 【参考方案1】:

我建议进一步阅读 SQL JOIN。 SQL Joins

然后阅读视图如何表示来自多个表的数据:What is a View in Oracle?

然后阅读 SQL UNION 如何组合来自多个表的结果:http://www.orafaq.com/wiki/Union

阅读从选择中创建表:http://www.techonthenet.com/sql/tables/create_table2.php

了解物化视图:http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6002.htm

这只是表面问题。所有这些都将以各种好处和缺点解决您的要求。

【讨论】:

【参考方案2】:

我可能也建议使用连接表,尽管它不清楚您的表是如何真正相关的。你应该明白Normalization

【讨论】:

以上是关于从多个来源在 Oracle 中创建数据库表的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 10g中如何创建表

Oracle 10g中如何创建表

在oracle数据库中创建表语句如何写?

如何在oracle10G中创建表空间

oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。

在Oracle数据库中创建一个表,用两个键做联合主键,sql语句该怎么写?