我正在尝试将和dmp文件导入到DB中的特定表中。
我正在运行这个命令:
impdp '/ as sysdba' directory=exp
dumpfile=exp_01.dmp,exp_02.dmp
logfile=log_01.log
table_exists_action=truncate
parallel=8
tables=my_user.my_tbl
query=my_user.my_tbl: "where trunc(sysdate)-730 > to_date(snapshot_month, 'yyyy/mm')这引起了一个例外
LRM-00116:语法错误在')‘后面'yyyy/mm’
这是正确的where子句,我使用一个简单的查询根据表检查它。
我试图将双逗号更改为单个逗号(并将一个逗号添加到to_date格式),等等,但我所做的任何更改都不起作用。
在网络中,还有几个查询参数的语法选项(双\单个逗号)。
发布于 2017-07-25 10:39:21
最后,对我有用的解决方案是在双逗号之前添加反斜杠。
这是一个新命令:
impdp '/ as sysdba' directory=exp
dumpfile=exp_01.dmp,exp_02.dmp
logfile=log_01.log
table_exists_action=truncate
parallel=8
tables=my_user.my_tbl
query=my_user.my_tbl:\"where trunc(sysdate)-730 > to_date(snapshot_month, 'yyyy/mm')\"我想,这样做的目的是为了避开后面的逗号,因为查询会忽略这些逗号。
谢谢。
https://stackoverflow.com/questions/45297998
复制相似问题