今天使用truncate清空表时报错了:

SQL> truncate table ref_set;

truncate table ref_set

ORA-02266: 表中的唯一/主键被启用的外键引用

通过dba_constraints查看,该表的主键被其他表所引用,因此无法truncate。即使从表中的数据被清空或者从来没有过数据,也无法直接对被引用的表执行truncate操作。

解决方法:alter table tab_name disable constraint constraint_name;

说明:以前曾经听过关于truncate的限制,但实际工作中由于用的比较少,渐渐忘了。

除了存在外键约束而无法执行truncate外,还应该注意:truncate是ddl操作,如果在执行truncate过程中由其他用户的dml操作没有提交,truncate会触发其提交操作。因此在并发比较高的系统中慎重使用truncate命令。

根据表名查询有哪些外键调用了该表中的列:

select a.table_name "被引用表",a.constraint_name "约束名",

b.constraint_name "外键名",b.table_name "引用表" from dba_constraints a,dba_constraints b

where a.constraint_type='P' and a.owner=:COLUMN_NAME

and a.constraint_name=b.r_constraint_name;

以下直接产生禁用约束的语句:

select 'alter table '||b.table_name||'disable constraint '||b.constraint_name

from dba_constraints a,dba_constraints b

where a.constraint_type='P' and a.owner=:COLUMN_NAME

and a.constraint_name=b.r_constraint_name and a.table_name=:table_name;

linux truncate 命令,truncate 命令使用相关推荐

  1. linux truncate 命令,如何在Linux中截断truncate文件

    在某些情况下,您可能希望将现有文件截断(空)为零长度.简单来说,截断文件意味着删除文件内容而不删除文件. 截断文件比删除文件,重新创建并设置正确的权限和所有权更快,更容易.另外,如果文件是由进程打开的 ...

  2. TRUNCATE vs DELETE命令

    TRUNCATE vs DELETE命令 作用:用于完全清空表数据 , 但表结构 , 索引 , 约束等不变 ; 语法: TRUNCATE [TABLE] table_name;-- 清空年级表 TRU ...

  3. linux关闭后台运行命令,linux后台运行、关闭、查看后台任务常用命令

    一.& 加在一个命令的最后,可以把这个命令放到后台执行,如: [root@bqh-01 ~]# watch -n 3 "sh 1.sh"  #每3s在后台执行一次1.sh脚 ...

  4. linux目录介绍和命令总结(后期续更)

    为什么需要使用linux操作系统? 性能问题:windows服务器操作系统不如linux高 稳定性问题: 底层架构:linux更加稳定,其开机时间可以达到好几年不关机 开源:因为开源,人人都可以看到源 ...

  5. linux关机重启注销命令,Linux的注销、关机、重启基本命令介绍

    你想知道Linux的注销.关机.重启基本命令么?下面是小编为大家收集的Linux的注销.关机.重启基本命令介绍,希望能帮到大家. Linux的注销.关机.重启基本命令介绍 一.注销,关机,重启 注销系 ...

  6. linux查询重复数据库,Linux如何使用locate命令查找数据搜索数据库

    通常在Linux查找数据库我们都使用find,那么除了find命令我们还可以用locate命令,可以在搜寻数据库时快速找到档案,具体怎么使用呢?下面小编就给大家详细介绍下locate命令的用法. Li ...

  7. linux 命令删除命令,Linux 命令之删除命令

    在Linux下删除文件用rm命令,具体用法如下: rm [选项] 文件 选项说明: -f -force 忽略不存在的文件,强制删除,无任何提示 -i --interactive 进行交互式地删除 -r ...

  8. Linux下视频截取命令

    比如你有一个视频,然后你对其中某一段感兴趣,你想把他截取下来,并且不希望画面变差,(当然你也不想花钱买视频编辑软件),可以在Linux下使用如下命令: ffmpeg -ss 00:00:05 -t 0 ...

  9. Linux常用20条命令

    Linux常用20条命令 假装这里有个标题 1.cd 2.ls 3.grep 4.find 5.cp 6.mv 7.rm 8.ps 9.kill 10.kill all 11.file 12.tar ...

  10. VMware里的linux系统里的命令行里会有bee的声音,要如何关掉

    VMware里的linux系统里的命令行里会有bee的声音,要如何关掉 取消bell报警声的方法:登陆linux系统vi /etc/inputrc找到set bell-style none 将前面的# ...

最新文章

  1. Kafka:消息是如何在服务端存储与读取的,你真的知道吗?
  2. 使用VC++6.0创建MFC对话框程序
  3. sublime插件调用第三方程序
  4. 深入浅出JVM-内存模型
  5. 搭建webUI自动化及问题解决:Message: ‘chromedriver‘ executable needs to be in PATH.解决办法
  6. rudesocket如何使用_c++ socket 客户端库 socks5 客户端 RudeSocket™ Open Source C++ Socket Library...
  7. 计算机辅助初中英语教学,计算机辅助初中英语阅读教学的-研究.pdf
  8. ApacheCN 深度学习译文集 20210125 更新
  9. java Object类的公共方法
  10. 电商平台销售数据查询工具(电商运营必备工具)
  11. 如何利用matlab显示图像的方向矢量图
  12. c语言标准库函数大全用法,C 标准库函数
  13. XRecyclerView+Retrofit+RXjava+Fresco请求网络数据
  14. sai钢笔图层怎么移动某条线?
  15. JavaScript高级第04天笔记
  16. JAVA将上传的PPT/PPTX转为图片
  17. 百度图片时看到一张很眼熟,竟然是自己发的,这收录效率!
  18. 人口收入普查数据探索
  19. 黑客喜欢的扫描器盒子
  20. 苹果笔记本能不能用python_苹

热门文章

  1. proteus pro 8.9 汉化安装教程
  2. Git内部原理之深入解析引用规范
  3. 阿里云服务器提示挖矿程序 该怎么解决
  4. 五星填数之类的杂七杂八的
  5. 【OpenCV学习笔记 008】基于形态学运算的图像变换
  6. VidMobie Blu-ray Ripper for Mac(蓝光DVD转换器)
  7. cpu服务器投标文件,文件服务器CPU篇
  8. 处理excel用vba还是python_《处》字意思读音、组词解释及笔画数 - 新华字典 - 911查询...
  9. 用css3径向渐变制作花纹背景
  10. Cartographer资料分享