我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据库中如何修改分区表的数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据库中如何修改分区表的数据

这篇文章主要为大家展示了“数据库中如何修改分区表的数据”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中如何修改分区表的数据”这篇文章吧。

  需求案例:student表中储存学生的信息,按照班级进行了分区,一个学生转了班级,他的信息需要在student表中修改。

  student表结构语句

  create table student(id number(5),name varchar2(10),class_id number(2)) partition by list(class_id)(partition P_01        values (1),partition P_02 values (2));

  测试数据

  insert into student values(1,'xiaoming',1);

  insert into student values(2,'xiaohong',1);

  insert into student values(2,'xiaohua',2);

  insert into student values(2,'xiaoyue',2);

  commit;

  修改xiaoming的id=3,修改后,数据所在的分区没有改变。

  update student n set n.id=3 where n.name ='xiaoming'; 

  commit;

  修改xiaoming到班级2

  update student n set n.class_id=2 where n.name ='xiaoming';

  执行会报错

  数据库中如何修改分区表的数据

  原因分析:因为分区表的数据是按分区规则存入不同的分区,如果数据修改后,不在一个分区了,数据需要先删除,再插入新的分区,而数据库中对应的参数未设置,就导致了报错

  解决办法:

  1.导出需要修改的数据到临时表,再临时表中修改数据,删除原表需要修改的数据,把临时表的数据插入分区表中

   优势:对数据库不用修改参数,可以保证对系统的性能影响小

   劣势:数据量大的情况,高水位问题会较明显

   create table student_tmp as select * from student n where n.name ='xiaoming';

   update student_tmp n set n.class_id=2 where n.name ='xiaoming';

   commit;

   delete from  student n where n.name ='xiaoming';

   commit;

   insert into student  select * from student_tmp;

   commit;

   2.开启数据库 row movement

    优势:数据库可以对分区表进行跨分区修改

    劣势:由于是对数据库的参数进行修改,产生的影响较大,需要进行各方面的测试,已考虑对系统的影响降到最低

    alter table student enable row movement;

    执行了这条语句后,再对分区表进行跨分区修改数据就没有问题了

     update student n set n.class_id=2 where n.name ='xiaoming';

     commit;

以上是“数据库中如何修改分区表的数据”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据库中如何修改分区表的数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在 sqlite 数据库中修改表?(sqlite数据库怎样修改表)

在sqlite数据库中修改表是数据库管理中一个常见且重要的操作。下面将为大家详细介绍在sqlite数据库中修改表的步骤。一、准备工作首先,确保你已经安装了sqlite数据库并且熟悉基本的数据库操作命令。sqlite
如何在 sqlite 数据库中修改表?(sqlite数据库怎样修改表)
2024-12-13

dw中如何用php修改表数据库

这篇文章主要介绍了dw中如何用php修改表数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇dw中如何用php修改表数据库文章都会有所收获,下面我们一起来看看吧。在 Dreamweaver 中,通过连接到数据
2023-07-05

access怎么修改数据库表中的数据

要修改数据库表中的数据,可以使用SQL语句中的UPDATE语句。具体的语法为:```UPDATE 表名 SET 列名1=新值1, 列名2=新值2, ... WHERE 条件;```其中,表名是要修改的数据库表的名称;列名是要修改的列的名称;
2023-09-20

mysql如何修改表中的数据

要修改MySQL表中的数据,可以使用UPDATE语句。以下是修改表中数据的基本语法:UPDATE 表名SET 列名1 = 值1, 列名2 = 值2, ...WHERE 条件;其中,表名是要修改数据的表的名称,列名是要修改的列的名称,值
mysql如何修改表中的数据
2024-04-09

sqlserver如何修改表中数据

要修改表中的数据,可以使用SQL Server中的UPDATE语句。UPDATE语句用于更新表中的行,可以根据指定的条件来更新数据。例如,要将表中的某一列的值修改为新的值,可以使用如下的UPDATE语句:UPDATE 表名SET 列名
sqlserver如何修改表中数据
2024-04-09

php如何修改数据库中子表内容

在PHP中,可以使用SQL语句的UPDATE命令来修改数据库中子表的内容。以下是一个示例代码:```php// 假设已经建立了数据库连接$conn// 修改子表内容的SQL语句$sql = "UPDATE 子表名 SET 字段1 = '新值
2023-08-23

sqlite数据库如何修改数据

要修改SQLite数据库中的数据,可以使用UPDATE语句。以下是一个示例:UPDATE table_nameSET column1 = value1, column2 = value2WHERE condition;在这个示例中,t
sqlite数据库如何修改数据
2024-04-10

sql如何修改数据库表内容

要修改数据库表内容,可以使用SQL的UPDATE语句。以下是一个示例:UPDATE table_nameSET column1 = value1, column2 = value2WHERE condition;在上面的示例中,tab
sql如何修改数据库表内容
2024-04-11

编程热搜

目录