正在看的ORACLE教程是:Oracle约束管理脚本。

作为一个Oracle数据库管理员,会碰到这样的数据库管理需求,停止或者打开当前用户(模式)下所有表的约束条件和触发器。这在数据库的合并以及对数据库系统的代码表中某些代码的修改时需要做的工作之一。

我们来看这样一种实际数据库工作业务需求,这在目前的许多应用中是非常实际的。某地区银行数据,目前采用市级数据集中,随着计算机网络技术的不断提高以及对服务水平的要求,提出了省级乃至国家级的数据集中。除了应用需要修改以外,对于数据库管理员来讲,最重要的工作就是对各地分散管理的数据库统一集中到一个或者几个集中数据库中。此时就需要整理以前各地各自为政的代码表为一个统一的代码表以及数据库的最后集中合并。

对Oracle数据库管理员来讲,这样的数据维护工作,在更新代码表中代码或者合并数据之前,首先要作的工作就是将系统中某用户下所有的外键或触发器停止,处理完数据后,再打开这些关闭的外键和触发器。针对这样的工作需求,本文给出了下面两个SQL脚本:(1) 系统中某模式或用户下外键或者触发器的管理脚本;(2) 外键错误自动查找脚本。下面就来详细介绍这两个脚本。

一、约束管理脚本

该脚本可用来管理当前登录用户下的所有外键和触发器的打开和关闭,此处没有处理主键和唯一约束条件,该脚本稍加修改就可以处理主键和唯一约束条件,但这里建议最好不要在随意停止主键或唯一约束条件后,进行数据维护。

脚本运行方法如下(SQL/PLUS):

其中,参数as_alter只能是“ENABLE”或者“DISABLE”,否则程序提示错误。当参数为“ENABLE”时,表示将当前模式下所有的外键和触发器打开,相反“DISABLE”就是将当前模式下所有的外键和触发器关闭。

附存储过程脚本:

判断输入参数是否为DISABLE或者是ENABLE,如果是的话,就继续处理,否则退出过程,给出提示

IF (UPPER(AS_ALTER) = 'DISABLE' OR UPPER(AS_ALTER) = 'ENABLE') THEN

OPEN C_CON;

[NextPage]

当前用户下外键的处理 ENABLE或者 DISABLE

二、约束错误自动查找脚本

一般,数据库管理员在对数据进行维护时,如新数据的导入前,首先要关闭所有的外键和触发器,数据成功导入后,再打开导入前关闭的外键和触发器。这时经常会遇到错误号为ORA-02298的“未找到父项关键字”的错误。该错误的原因就是数据库表中出现了不能满足外键约束条件的记录。这里,另外给出了一个脚本(P_CON_ERR)用来自动查找造成这类错误的原因,也就是找出不满足外键约束条件的字段值。

该存储过程可单独运行,同时在前面介绍的存储过程P_ALTERCONS中也进行了调用,在存储过程P_ALTERCONS中,可以看到在打开外键时,如果出现错误号为ORA-02298的错误,就调用该存储过程,自动查找造成外键不能启动的原因。

下面是单独运行该存储过程的例子,在SQL/PLUS环境下:

PL/SQL过程已成功完成。

其中,FK_SB_HJJL_RELATION__SB_PZXH为出现错误的外键名称。

附存储过程脚本:

上一页

oracle约束 关闭,Oracle约束管理脚本相关推荐

  1. oracle 12c 关闭,oracle 12c的启动与关闭

    基本概念: Oracle 12c中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB). CDB全称为Container Database,中文翻译为数据库 ...

  2. 一键关闭oracle数据库,关闭Oracle数据库的三种方法

    Oracle数据库关闭应该用什么方法呢?下面就教您三种最常用的Oracle数据库关闭的方法,希望对您学习Oracle数据库关闭方面有所启迪. 一.正常关闭 正常关闭数据库所用的选项是normal,数据 ...

  3. oracle cdc 关闭,Oracle CDC部署流程

    一.ORACLE环境检查 查oracle数据库版本(>9.2.0.4.0). select * from v$version; BANNER Oracle Database 10g Enterp ...

  4. oracle解析关闭,oracle起动和关闭详解(转)

    oracle起动和关闭详解(转)[@more@]实例 1.启动oracle server. startup[nomount|mount|open][force][pfile=filename] 参数说 ...

  5. oracle asmb关闭,[Oracle 11g r2(11.2.0.4.0)]集群守护进程CSS资源管理

    [Oracle 11g r2(11.2.0.4.0)]集群守护进程CSS资源管理 2018-07-25 11:43:31Oracle 首先看一下11gr2 各个进程关系: 之前谈到的css功能可以统称 ...

  6. oracle不能关闭,Oracle shutdown immediate无法关闭数据库解决方法

    在测试服务器上使用shutdown immediate命令关闭数据库时,长时间无法关闭数据库,如下所示 1: [oracle@DB-Server admin]$ sqlplus / as sysdba ...

  7. 数据太大导致oracle数据库连接关闭,ORACLE异常关闭后导致数据库报错无法连接问题解决办法-Oracle...

    1.首先kill掉所有oracle相关的进程 [oracle@oracle11g db_1]$ps -ef|grep $ORACLE_SID [oracle@oracle11g db_1]$kill ...

  8. 开启关闭oracle数据库,手动开启/关闭Oracle数据库

    @echo off @echo 启动/关闭数据库 set /p flag=您是否要启动数据库?(是按Y启动,否按N关闭) goto answer%flag% goto end :answery ech ...

  9. 关闭所有oracle服务,启动/关闭oracle服务有三种方式

    启动oracle服务有三种方式:1 从控制面板 2 使用MS-DOS命令 3 通过Oracle Administration Assistant for WindowsNT -通过控制面板启动orac ...

最新文章

  1. asp.net cache
  2. 内蒙古电力交易对数据中心用电费用的影响分析
  3. 重温java web过滤器filter
  4. python数字图像处理(1):环境安装与配置
  5. windows下备份mysql 数据库
  6. hadoop常见错误即解决方法
  7. 使用不可序列化的属性序列化Java对象
  8. MySQL 表一列逗号分隔字段,按逗号切割
  9. 「长文」2022年企业数字化转型的八大趋势
  10. 使用PIL库使用文本生成图片(类验证码)
  11. Android、iOS、和Web如何做灰度发布?
  12. ai人工智能让女神_让女孩进入人工智能管道
  13. 我的世界java版游戏图标_minecraftpe JAVA版游戏包mod
  14. 老一辈学计算机的在那,真实的南京大学计算机系
  15. Axure插入ArcGIS地图或天地图
  16. 2022 年中回顾|一文看懂预训练模型最新进展
  17. 数学/基础数论——从LeetCode题海中总结常见套路
  18. L2UWE: A Framework for the Efficient Enhancement of Low-Light Underwater Images阅读札记
  19. 停止抱怨英语_停止抱怨
  20. 基于OpenCASCADE自制三维建模软件(三)搭建开发环境

热门文章

  1. css页面布局的感想,css布局实践感想(示例代码)
  2. win7如何设置还原点
  3. chrome浏览器无法加载百度网页启动组件怎么办
  4. 基于RTMP实现Linux|麒麟操作系统下屏幕|系统声音采集推送
  5. linux系统使用小端内存,linux进程内存管理
  6. 柱形图无数据可选中_Excel – 如何制作出上下层排列的柱形图?
  7. RabbitMQ保姆级教程
  8. Bugzilla 使用指南
  9. Java微服务篇3——Lucene
  10. java httpcomponents_java – 如何使用Apache httpcomponents从NHttpRequ...