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