一、修改用户表table的表空间

1、修改用户表table的表空间:alter table 表名 move tablespace 新表空间名;

2、查询所有用户表:select * from user_tables;

【脚本】

查询当前用户的所有的数据表,并把表空间为“EAS_D_HFY_STANDARD”的用户表,修改为:EAS_D_HFY120929_STANDARD。

/* Formatted on 2012-10-11 14:17:04 (QP5 v5.115.810.9015) */

DECLARE

i_count   INT := 0;

execsql   VARCHAR2 (1000);

CURSOR c_mysql

IS

SELECT      'alter table  '

|| table_name

|| '  move tablespace EAS_D_HFY120929_STANDARD'

mysql

FROM   user_all_tables

WHERE   tablespace_name = 'EAS_D_HFY_STANDARD';

BEGIN

FOR r_mysql IN c_mysql

LOOP

DBMS_OUTPUT.put_line (r_mysql.mysql);

EXECUTE IMMEDIATE r_mysql.mysql;

i_count := i_count + 1;

END LOOP;

DBMS_OUTPUT.put_line ('i_count: ' || i_count);

EXCEPTION

WHEN OTHERS

THEN

DBMS_OUTPUT.put_line (

'异常:' || 'sqlcode:' || SQLCODE || ' sqlerrm : ' || SQLERRM

);

END;

二、修改索引index的表空间

【问题】

修改表table的表空间后,在操作相关表时,遇到ORA-01502问题:

ORA-01502: index 'HFY120401.PK_MULTIAPPROVE' or partition of such index is in unusable state

【分析】

1、经过系统分析,查询索引状态,可发现索引“PK_MULTIAPPROVE”的状态是“UNUSABLE”;

2、进一步分析,发现系统中的索引index_type有3类:NORMAL、FUNCTION-BASED NORMAL、LOB,除index_type为LOB类型的索引状态为VALID外,NORMAL、FUNCTION-BASED NORMAL类型的索引状态均被设置为不可用状态了UNUSABLE。

3、分析索引的语句如下:

select index_name,index_type,tablespace_name,table_type,status from user_indexes;

【脚本】

查询当前用户所有非LOB索引,并把表空间为“EAS_D_HFY_STANDARD”的索引,更新为:EAS_D_HFY120929_STANDARD。

/* Formatted on 2012-10-11 14:31:42 (QP5 v5.115.810.9015) */

DECLARE

i_count   INT := 0;

CURSOR c_mysql

IS

SELECT      'alter index '

|| index_name

|| ' rebuild tablespace EAS_D_HFY120929_STANDARD'

mysql

FROM   user_indexes

WHERE   tablespace_name = 'EAS_D_HFY_STANDARD' and index_type<>'LOB';

BEGIN

FOR r_mysql IN c_mysql

LOOP

DBMS_OUTPUT.put_line (r_mysql.mysql);

EXECUTE IMMEDIATE r_mysql.mysql;

i_count := i_count + 1;

END LOOP;

DBMS_OUTPUT.put_line ('i_count: ' || i_count);

END;

关于ORA-01502的问题,详见:《ORA-01502错误成因和解决方法》

其实重建普通索引成功后,也试着努力更新LOB索引的,只是在详细阅读《如何重建LOB类型的索引和LOB段》后只好无奈地放弃!

oracle批量修改多张表的数据,Oracle批量修改用户表table的表空间相关推荐

  1. oracle数据库中批量把一张表里面的数据插入到不同的表中的方法

    oracle数据库中批量把一张表里面的数据插入到不同的表中的方法(insert first into | insert all into) 准备环境 1.oracle数据库自带的scott下的用户表 ...

  2. php删除一张表数据的时候 把另一张表的数据也删除,剔除第一张表的数据时,修改第二张表的相关字段的数值...

    删除第一张表的数据时,修改第二张表的相关字段的数值 表xf xf_id vip total 1 1 10 2 1 100 3 2 80 4 3 50 表vip vip jifen 1 1000 2 5 ...

  3. Oracle数据库:sql语言结构,数据查询语言DQL,select * from table;算术,别名,连接,去重等操作

    Oracle数据库:sql语言结构,数据查询语言DQL,select * from table;算术,别名,连接,去重等操作 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很 ...

  4. 用oracle存储过程取一张表里的数据放入其他表 游标取值

    2019独角兽企业重金招聘Python工程师标准>>> 现已知有一个表T2(id,code,date)需从T1表中取得相应数据.使用oracle的存储过程方法. 如果用sql语言实现 ...

  5. oracle如何某个字段去重复的数据,Oracle 去重复的数据

    重复的数据分两种,一种是表中部分字段的重复,一种是两行以上的记录完全一样. 部分字段的重复: 查询不重复的数据SQL: select 字段1,字段2,count(*) from 表名 group by ...

  6. php获取post表单数据_PHP get和post方法获取form表单数据

    在 PHP 中使用 get 和 post 两种方法接收来自 form 表单的值,在 form 表单中可以定义 PHP 的接收方式和接收地址. get 和 post 方法主要有以下几点区别. get 是 ...

  7. excel导入mysql并批量查询_EXCEL批量导入到Sqlserver数据库并进行两表间数据的批量修改...

    Excel 大量数据导入到sqlserver生成临时表并将临时表某字段的数据批量更新的原表中的某个字段 1:首先要对EXCEL进行处理 列名改成英文,不要有多余的列和行(通过ctrl+shift 左或 ...

  8. mysql游标遍历修改_mysql使用游标遍历数据进行批量针对性更新数据,急求mysql大神解答...

    我现在有个数据表ud18,里面有图片上的ID,parentid,objname,现在要针对objname的这些号码进行针对性更新,写存储过程进行父子关系转换,做成树形,就是根据objname将父的id ...

  9. oracle建表备份数据,oracle建表备份脚本,如果update的数据不对,可以从WEB_RI_PLYEDR_CED_BAK找回...

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. --oracle建表备份脚本,如果update的数据不对,可以从WEB_RI_PLYEDR ...

最新文章

  1. 企业级nosql数据库应用与实战-redis
  2. 用Python如何查快递?
  3. 皮一皮:所以说不管做什么,上风口都是很重要的位置...
  4. BZOJ 4174 tty的求助 莫比乌斯反演
  5. 反击“猫眼电影”网站的反爬虫策略
  6. 从语言模型到Seq2Seq:Transformer如戏,全靠Mask
  7. 解析:Python适合哪些人学呢?
  8. win7右键计算机管理参数错误,win7纯净版虚拟磁盘管理器参数错误怎么解决?
  9. sql server无法绑定由多个部分组成的标识符_HTML5服务器推送事件(Server-sent-event)...
  10. 【7.9校内test】T1挖地雷
  11. 你身边有没有白天上班,晚上打零工送外卖、跑滴滴、做代驾的朋友?你怎么看?
  12. 专题五:MATLAB数据分析与多项式计算
  13. 毕业设计——房屋租赁管理系统
  14. 【LaTeX】矢量图转为pdf格式(为了将高清矢量图插入LaTeX)
  15. 工业机器人图册 索罗门采夫_机械手控制系统设计(完整图纸)
  16. 计算机内存怎样清理,怎么样清理电脑内存 电脑清理内存方法【图文】
  17. python语句用什么隔开_在python中使用字典时用什么隔开
  18. 恶意程序利用Linksys路由器漏洞在路由器中传播
  19. gitlab代码提交自动触发Jenkins token发版(二)
  20. java api gateway_微服务中的 API 网关(API Gateway)

热门文章

  1. 【Datawhale组队学习】机器学习数学基础 - 一元函数微分学【Task 03】
  2. cannot find -lnl
  3. LiveData vs EventBus?不,他们其实可以一起
  4. Python中open函数的各个mode的理解
  5. Python爬虫教程——入门一之爬虫基础了解
  6. 《基于Python的金融分析与风险管理》学习笔记
  7. 数据挖掘的10大算法
  8. AI工具是帮手还是助手:
  9. 方兴未艾的CORBA
  10. 本机和Docker容器的文件传输