Database @ 20 July 2007, “No Comments”
Oracle自带的 EXP 命令,可以很方便的从Oracle库中导出所需要的数据。基本语法可以通过 exp help=y 查看。
今天在使用的时候碰到一个问题,需要导出指定库中的前200条记录,在网上搜索了一下,大部分文章都是这样说的:
exp scott/tiger TABLES=(emp,bonus) QUERY="WHERE job='SALESMAN' and sal<1600"
于是我试着这样做
exp scott/tiger TABLES=(emp,bonus) QUERY="WHERE rownum<201"
实际测试的时候,发现老是报 LRM-00112: multiple values not allowed for parameter 'query' 的错误。再后来发现引号是需要转义的,网上那么多文章都错了……
下面是正确的写法:
windows下的写法:
C:\exp>exp userid=tkyte/tkyte tables=t query="""where object_id < 5000"""
linux下的写法:
$ exp userid=/ tables=t query=\"where object_id \< 5000\"