good name
:
1,先备份吧
2,可以设置级联更新,或者把关系去掉
3,脚本方面你可以先建立个临时表,然后用plsql循环来操作,比如100条就commit一下,然后记住当前最大的rowid或者你能唯一的列,因为如果一旦失败,你可以得知从什么点上继续恢复!知道短点续传的好处吧
:
1,先备份吧
2,可以设置级联更新,或者把关系去掉
3,脚本方面你可以先建立个临时表,然后用plsql循环来操作,比如100条就commit一下,然后记住当前最大的rowid或者你能唯一的列,因为如果一旦失败,你可以得知从什么点上继续恢复!知道短点续传的好处吧
解决方案 »
- oracle建表我给用户分配了查询权限,但是查询还是说权限不够【在线等】
- ODBC 对orcale 11g进行批处理的问题
- 要向Oracle数据库中实时更新对象(表、过程、函数、触发器等)应该怎么做?
- 那个高手指点下insert 语句中无法插入时间格式
- 求一条sql语句
- 一段迁徙数据的pseudocode理解
- 客户端和服务器端Oracle使用的字符集相同,但是开发工具的字符集不同,结果造成数据乱码
- 大家有用Orcale的管理工具么?
- 求delphi如何与ORACLE建立数据库连接?
- 客户端访问的问题?
- 请问oci连接数据库后,如何得到 OCIExtProcContext
- 如何删除数据库中的重复记录?????
select * from all_indexes where owner='USER'
在pl/sql脚本中可以运行大致如下的语句:
用一个游标
select table_name,constraint_name into xxx,yyy from user_constraints
where R_CONSTRAINT_NAME in
(select CONSTRAINT_NAME from USER_CONSTRAINTS
where table_name='你的A表名称' and CONSTRAINT_TYPE='P');
然后用动态sql
execute immediate 'alter table '||xxx ||'disable constraint '||yyy ;
循环去除外键约束.
然后该你的数据。
最后再恢复:
还用那个游标:
select table_name,constraint_name into xxx,yyy from user_constraints
where R_CONSTRAINT_NAME in
(select CONSTRAINT_NAME from USER_CONSTRAINTS
where table_name='你的A表名称' and CONSTRAINT_TYPE='P');
用动态sql
execute immediate 'alter table '||xxx ||'enable constraint '||yyy ;一切ok