其实有些没看懂你的意思 1、你可以把sqlplus中用column .. format等格式化的结果spool到文本文件中。 大体如下 set linesize 500 set pagesize 0 set trims on col col1 format ... col col2 format ... spool d:>\test.txt select ... from ... where ...; spool off 2、在exp中也是可以使用条件的 eg: exp scott/tiger tables=emp,bonus query=\"where job=\'SALESMAN\' and sal\<1600\"
它将导出如下语句的查询结果 SELECT * FROM EMP where where job=’SALESMAN’ and sal <1600; SELECT * FROM BONUS where where job=’SALESMAN’ and sal <1600;
1、你可以把sqlplus中用column .. format等格式化的结果spool到文本文件中。
大体如下
set linesize 500
set pagesize 0
set trims on
col col1 format ...
col col2 format ...
spool d:>\test.txt
select ... from ... where ...;
spool off
2、在exp中也是可以使用条件的
eg:
exp scott/tiger tables=emp,bonus query=\"where job=\'SALESMAN\' and sal\<1600\"
它将导出如下语句的查询结果
SELECT * FROM EMP where where job=’SALESMAN’ and sal <1600;
SELECT * FROM BONUS where where job=’SALESMAN’ and sal <1600;
若要备份t1表中的数据,可以用:
exp scott/tiger file=c:\tmp\tt.exp tables=t1 query=\"where job=\'SALESMAN\' and sal\<1600\";OK!
(我要求实现的是:选择备份表里的数据,比如我只要table1,table2而不要table3里的内容,还有,能把指定表的数据导出,并且能够导入(追加)到另外一张类型相同的表中,要求不能破坏原有表中数据)
通过输入 EXP 命令和用户名/口令,您可以
按照“导出”提示键入参数:实例:EXP SCOTT/TIGER或者,您也可以通过输入 EXP 命令以及各种自变量来控制“导出”
的运行方式。要指定参数,您可以使用关键字:格式:EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
实例:EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
或 TABLES=(T1:P1,T1:P2),如果 T1 是分区表USERID 必须是命令行中的第一个参数。关键字 说明(默认) 关键字 说明(默认)
--------------------------------------------------------------------------
USERID 用户名/口令 FULL 导出整个文件 (N)
BUFFER 数据缓冲区的大小 OWNER 所有者用户名列表
FILE 输出文件 (EXPDAT.DMP) TABLES 表名称的列表
COMPRESS 导入一个范围 (Y) RECORDLENGTH IO 记录的长度
GRANTS 导出权限 (Y) INCTYPE 增量导出类型
INDEXES 导出索引 (Y) RECORD 跟踪增量导出 (Y)
ROWS 导出数据行 (Y) PARFILE 参数文件名
CONSTRAINTS 导出限制 (Y) CONSISTENT 交叉表一致性
LOG 屏幕输出的日志文件 STATISTICS 分析对象 (ESTIMATE)
DIRECT 直接路径 (N)
FEEDBACK 显示每 x (0) 行的进度
POINT_IN_TIME_RECOVER 表空间时间点恢复 (N)
RECOVERY_TABLESPACES 要恢复的表空间名称列表