广告
返回顶部
首页 > 资讯 > 数据库 >级联truncate
  • 904
分享到

级联truncate

2024-04-02 19:04:59 904人浏览 八月长安
摘要

12c之前的版本中,在子表引用一个主表以及子表存在记录的情况下,是不提供截断此主表操作的。而在 12c 中的带有 CASCADE 操作的TRUNCATE TABLE 可以截断主表中的记录,并自动对子表进行递

12c之前的版本中,在子表引用一个主表以及子表存在记录的情况下,是不提供截断此主表操作的。而在 12c 中的带有 CASCADE 操作的TRUNCATE TABLE 可以截断主表中的记录,并自动对子表进行递归截断,并作为 DELETE ON CASCADE 服从外键引用。由于这是应用到所有子表的,所以对递归层级的数量是没有 CAP 的,可以是孙子表或是重孙子表等等。这一增强摈弃了要在截断一个主表之前先截断所有子表记录的前提。新的 CASCADE 语句同样也可以应用到表分区和子表分区等。
sql> create table parent(id number primary key);

Table created.

SQL> create table child(cid number primary key,id number);

Table created.

SQL> insert into parent values(1);

1 row created.

SQL> insert into parent values(2);

1 row created.

SQL> insert into child values(1,1);

1 row created.

SQL> insert into child values(2,1);

1 row created.

SQL> insert into child values(3,2);

1 row created.

SQL> commit;

Commit complete.

SQL> select a.id,b.cid,b.id from parent a, child b where a.id=b.id;

    ID        CID         ID

     1          1          1
     1          2          1
     2          3          2

--添加约束,不附上 on delete cascade
SQL> alter table child add constraint fk_parent_child foreign key(id) references parent(id);

Table altered.

SQL> truncate table parent cascade;
truncate table parent cascade
*
ERROR at line 1:
ORA-14705: unique or primary keys referenced by enabled foreign keys in table
"HR"."CHILD"

SQL> col CONSTRAINT_NAME for a25;
SQL> col TABLE_NAME for a25;
SQL> col COLUMN_NAME for a25;
SQL> select CONSTRAINT_NAME,TABLE_NAME, COLUMN_NAME from user_cons_columns where TABLE_NAME='CHILD';

CONSTRAINT_NAME TABLE_NAME COLUMN_NAME


SYS_C0010458 CHILD CID
FK_PARENT_CHILD CHILD ID
-- 删除并添加约束,并附上 on delete cascade
SQL> alter table child drop constraint FK_PARENT_CHILD;

Table altered.

SQL> alter table child add constraint fk2_parent_child foreign key(id) references parent(id) on delete cascade;

Table altered.

SQL> truncate table parent cascade;

Table truncated.

SQL> select a.id,b.cid,b.id from parent a, child b where a.id=b.id;

no rows selected

您可能感兴趣的文档:

--结束END--

本文标题: 级联truncate

本文链接: https://www.lsjlt.com/news/44099.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 级联truncate
    12c之前的版本中,在子表引用一个主表以及子表存在记录的情况下,是不提供截断此主表操作的。而在 12c 中的带有 CASCADE 操作的TRUNCATE TABLE 可以截断主表中的记录,并自动对子表进行递...
    99+
    2022-10-18
  • DELETE、TRUNCATE和DROP
    作用 DELETE delete是数据操作语言,可以删除表中where语句指定的记录,保留表结构,不释放存储空间。 TRUNCATE truncate是数据定义语言,清空表,相当于删除表中所有的数...
    99+
    2022-10-18
  • MySQL truncate原理
    https://dba.stackexchange.com/questions/147600/mysql-truncate-table-blocks-queries-in-other-databases...
    99+
    2022-10-18
  • React实现二级联动(左右联动)
    本文实例为大家分享了React实现二级联动的具体代码,供大家参考,具体内容如下 js代码 import { Component } from 'react' import './...
    99+
    2022-11-12
  • JS级联怎么使用
    本篇内容介绍了“JS级联怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java版通用JS级联[摘要] 在开发中,经常遇到诸如省、市,...
    99+
    2023-06-03
  • MySQL Truncate用法详解
    前言: 当我们想要清空某张表时,往往会使用truncate语句。大多时候我们只关心能否满足需求,而不去想这类语句的使用场景及注意事项。本篇文章主要介绍truncate语句的使用方法及注意事项。 1.truncate...
    99+
    2022-05-28
    MySQL Truncate MySQL Truncate用法
  • TRUNCATE TABLE后 SEGMENT_SIZE没变 ?
    测试环境中,历史的交易表可以清空,仅需保留表结构。于是想通过TRUNCATE清理空间,结果发现TRUNCATE 之后,SEGMENT 的大小并没有改变。查询发现,是由于该表的INITIAL_EXTENT本来...
    99+
    2022-10-18
  • 利用级联选择器实现省市区三级联动【vue + elementUI Plus | uViewUI】
    文章目录 准备数据vue + ElementUI Plus 利用级联选择器实现省市区三级联动学习记录具体代码 vue + uViewUI 利用选择器多列联动实现省市区三级联动 (uniapp学习记录具体代码 准备数据 ...
    99+
    2023-08-19
    vue.js elementui javascript 小程序 前端
  • AJAX 中怎么实现二级联级菜单
    AJAX 中怎么实现二级联级菜单,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 客户端代码: <!DOCT...
    99+
    2022-10-19
  • Ajax如何实现省市区三级级联
    这篇文章主要介绍Ajax如何实现省市区三级级联,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实现Ajax实现省市区三级级联,需要Java解析json技术 整体Demo下载地址如下: 点我下载address.html&...
    99+
    2023-06-08
  • elementUI实现级联选择器
    本文实例为大家分享了elementUI实现级联选择器的具体代码,供大家参考,具体内容如下 1、从后端调用接口,传递数据到前端 2、使用VUE代码显示级联选项 <el-ca...
    99+
    2022-11-12
  • 联想pro14如何升级win11
    本篇内容主要讲解“联想pro14如何升级win11”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“联想pro14如何升级win11”吧!方法一: 首先点击左下角开始菜单,进入“设置” 接着在设置面...
    99+
    2023-07-01
  • MySQL外键级联的实现
    目录简介示例一、首先创建两张表stu,sc二、向两张表插入数据简介 mysql外键起到约束作用,在数据库层面保证数据的完整性。例如使用外键的CASCADE(cascade串联)类型,当子表(例如user_info)关联父...
    99+
    2022-07-28
    MySQL外键级联
  • 数据库的级联复制
    环境: 192.168.205.17: as master server 192.168.205.27: as middle server 192.168.205.37: as slave serv...
    99+
    2022-10-18
  • 跨平台级联dataguard配置
        正式环境中的OA库要从Windows迁移到Linux,但由于数据量比较大,带宽又比较窄,数据泵方式耗时太长,因此打算用DataGuard方式迁移,因此进行了...
    99+
    2022-10-18
  • python中什么是Haar级联
    本篇文章为大家展示了python中什么是Haar级联,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4...
    99+
    2023-06-14
  • jquery三级联动是什么
    jQuery三级联动是一种利用 jQuery JavaScript 库实现的交互式效果,用于在 Web 页面上创建三个关联的下拉菜单,以实现多级选择和数据筛选,作用是根据用户的选择,动态更新下一个下拉菜单中可选项的内容,从而实现数据筛选和精...
    99+
    2023-07-10
  • 联想y7000如何升级win11
    本篇内容介绍了“联想y7000如何升级win11”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!联想y7000可以升级win11吗:答:联想y...
    99+
    2023-07-01
  • 联想t420如何升级win11
    这篇文章主要介绍了联想t420如何升级win11的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇联想t420如何升级win11文章都会有所收获,下面我们一起来看看吧。联想t420可以升win11吗:答:联想t42...
    99+
    2023-07-01
  • 创建生成级联上级字符的函数
    需求:现有表dw,里面字段bm(编码),sj(上级编码),      新增字段px,要求在新字段中添加字符串,字符串为单位的级联上级及自身, 并从顶向下,从左到右排序,中间以“...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作