Oracle:exp,imp 数据导入导出
按表方式的导出,导入
exp SYSTEM/SYSTEM@SBJSDB00 TABLES=KOKAN90.MASTER_SEND_LIMIT LOG=C:\A.LOG
IMP SYSTEM/SYSTEM@SBJSDB00 IGNORE=Y FULL=Y LOG=C:\B.LOG
之前用过很多语句都报错,得到的教训是 先执行exp SYSTEM/SYSTEM@SBJSDB00,按提示一步步输入成功过后,再把提示翻译成参数和参数值
关于参数说明用 exp help=y,IMP help=y 来查看
另外,特别要说明的是imp中如果加入show=y ,导入会发生错误,数据表建不出来,还会出来一条"Skipping Table "KOKAN90.MASTER_SEND_LIMIT"的提示",数据也导入不了。
还有一点字符集的问题
如果出现
Export done in JA16SJISTILDE character set and AL16UTF16 NCHAR character set
server uses JA16SJISTILDE character set (possible charset conversion
“JA16SJISTILDE character set and AL16UTF16 NCHAR character set”与“WE8ISO8859P1”不一致,需要加入一个环境变量来去除该警告
Set NLS_LANG=JAPANESE_JAPAN.JA16SJISTILDE
注意WE8MSWIN1252前面有个“.”
相关文档:
1、什么是存储过程。存储过程是数据库服务器端的一段程序,它有两种类型。一种类似于SELECT查询,用于检索数据,检索到的数据能够以数据集的形式返
回给客户。另一种类似于INSERT或DELETE查询,它不返回数据,只是执行一个动作。有的服务器允许同一个存储过程既可以返回数据又可以执行动作。
2、什么时候需要用存储过程
......
在Oracle中使用自动递增列
Oracle 沒有類似 MS-SQL 可以直接修改欄位屬性,設定成自動編號欄位,所以我們必須透過 Sequence 物件的 nextval 方法,取得其下一個值,然後將此值新增至 TABLE 中,製造出有自動編 ......
在Oracle中的树形操作
1.取子节点及路径(正树):
select t.id ,t.code, t.name ,t.pid
,SYS_CONNECT_BY_PATH(t.id,'.')||'.' as IdPath
from tas_catalog t
--where id!=110
start with id=110
connect by pid = prior id
order siblings by id
2.取各级父节点(倒树):
select t.id ,t.code, t.na ......
总结了一下删除重复记录的方法,以及每种方法的优缺点。
假设表名为Tbl,表中有三列col1,col2,col3,其中col1,col2是主键,并且,col1,col2上加了索引。
1、通过创建临时表
可以把数据先导入到一个临时表中,然后删除原表的数据,再把数据导回原表,SQL语句如下:
creat table tbl_tmp (select distinct* from tb ......