如何将表中的选择性行导入oracle数据库?

时间:2013-11-26 06:32:30

标签: sql database oracle

我有一个数据库,其中有一个名为'X'的表,我有另一个数据库,它几乎与数据库'X'相似(具有完全相同的表,并且所有表的模式也相同)。只有表中的数据不同。现在我想从表中复制一些选择性行。是否有一个规定可以在import语句中放置'where'子句,以便只导入满足'where'条件的那些行。

2 个答案:

答案 0 :(得分:0)

是的,我们确定我们可以做到。见下面只是一个例子

INSERT INTO destTable
SELECT Field1,Field2,Field3,... 
FROM srcTable
WHERE NOT EXISTS(SELECT * 
                 FROM destTable 
                 WHERE (srcTable.Field1=destTable.Field1 and
                       SrcTable.Field2=DestTable.Field2...etc.)
                 )

答案 1 :(得分:0)

您可以使用可选的QUERY参数来表示,例如:

exp scott/tiger TABLES=emp QUERY=\"WHERE job=\'SALESMAN\' and sal \<1600\"

http://docs.oracle.com/cd/B28359_01/server.111/b28319/exp_imp.htm#i1005842

我认为你不能在导入时过滤它。您可以导入到临时模式,然后使用SQL复制数据。