sql – Oracle – 删除表约束而不丢弃表
发布时间:2020-12-12 08:50:18 所属栏目:MsSql教程 来源:网络整理
导读:我正在进行大型Oracle数据库的批量迁移.其第一步涉及将整个表的重命名作为稍后删除它们的准备(但是现在我需要保留数据).对它们的任何外键限制都需要删除 – 它们不应该连接到数据库的其余部分.如果我现在放弃它,我可以CASCADE约束,但重命名只是改变约束. 有没
我正在进行大型Oracle数据库的批量迁移.其第一步涉及将整个表的重命名作为稍后删除它们的准备(但是现在我需要保留数据).对它们的任何外键限制都需要删除 – 它们不应该连接到数据库的其余部分.如果我现在放弃它,我可以CASCADE约束,但重命名只是改变约束.
有没有办法可以删除CASCADE CONSTRAINTS的所有约束,而不会丢弃表本身? 解决方法您可以使用动态SQL和数据字典:begin for r in ( select table_name,constraint_name from user_constraints where constraint_type = 'R' ) loop execute immediate 'alter table '||r.table_name ||' drop constraint '||r.constraint_name; end loop; end loop; 如果表由多个用户拥有,则需要从DBA_CONSTRAINTS驱动,并在投影和执行语句中包含OWNER.如果你想触摸少于所有的表,我恐怕你需要在WHERE子句中指定列表,除非他们的名字有一些模式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 实体框架 – Update – 数据库尝试自动迁移,即使禁用自动迁
- SQLSERVER Agent服务无法启动
- 深入mysql YEAR() MONTH() DAYOFMONTH()日期函数的详解
- sql-server – 在SQL SERVER 2008中执行SQL Server代理作业
- sql-server – 如何安排SSIS包运行为除SQL代理服务帐户之外
- sql – 解决方案“无法在查询中执行DML操作”?
- 获取SqlServer2005表结构(字段,主键,外键,递增,描述)
- 详解SQL Server 2008工具SQL Server Profiler
- sql-server – 如何更改SQL Server中列的数据类型?
- 不同数据库之间导入导出功能介绍
推荐文章
站长推荐
- SQL Server delete from 表名与truncate table 表
- sql-server – 使用VSS与本机SQL Server的SQL Se
- sql-server – 将SQL Server数据库从旧生产服务器
- Win2003系统下SQL Server 2008安装图解教程(详细
- sqlserver连接远程数据库
- sql-server – SSRS 2008修复行标题
- sqlserver锁表、解锁、查看销表
- sql-server – 什么是sql server中的游标的确切用
- sql-server – 获取插入行的PK Guid的最佳方法
- 简单统计SQLSERVER用户数据表大小(包括记录总数和
热点阅读