注意:普通的查询语句不会出现异常,只有使用into对变量进行赋值的时候才会发生异常

 --系统变量: notfound  --> if sql%notfund then 如果这个表达式为真,则 (增删改)出错
--,先自定义一个异常:no_result exception
-- if sql%nofund then
--excetpion
--when no_result then
--dbms……

用户自定义异常写在:declare里,如:

 set serveroutput on
declare
no_result exception; --自定义异常
v_ssid student_test.sid%type;
 begin
update student_test set sex='男' where sid=1000002; --没有异常,报(自定义异常)插入为空的错误
if SQL%NOTFOUND then
4 RAISE no_result;
5 end if;
exception
when no_result then
dbms_output.put_line('修改有误!');
when dup_val_on_index then
dbms_output.put_line('系统异常,违反主键约束');
end;

如果修改语句修改为空,系统不会报错,但会直接进入用户自己定义的no_result异常里,

if SQL%NOTFOUND then
RAISE no_result;
end if;
SQL%NOTFOUND是检查更新语句是否更新成功,如果更新失败,则notfound语句为真,
则使用raise语句跳转到no_result异常执行。 (dup_val_on_index)异常是系统异常,如果使用插入语句并且违反主键唯一性约束,
则执行dup_val_on_index异常。

Oracle用户自定义异常的更多相关文章

  1. 转://因触发器限制导致oracle用户登录失败

    使用PL/SQL DEV登录数据库时,出现如下错误 手工创建了test用户,通过dev工具登录没问题.怀疑数据库中有些用户限制了登录的.再看错误编号:ORA-20001,oracle保留的异常错误号范 ...

  2. Oracle用户被锁原因及办法

    Oracle用户被锁原因及办法   在登陆时被告知test用户被锁 1.用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间 SQL> alter session set nl ...

  3. oracle 用户与表空间关系

    oracle用户与表空间关系用户=商家表=商品表空间=仓库1. 1个商家能有很多商品,1个商品只能属于一个商家2. 1个商品可以放到仓库A,也可以放到仓库B,但不能同时放入A和B3. 仓库不属于任何商 ...

  4. Oracle 用户管理与权限控制

    Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...

  5. 【密码】Oracle用户密码系列

    [密码]Oracle用户密码系列 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ...

  6. oracle用户创建及权限设置及表空间

    建立表空间: create tablespace portx_data datafile 'D:\oracle_data\portx.dbf' size 50m autoextend on next ...

  7. 【oracle】解锁oracle用户,unlock

    解除oracle用户的锁定状态,例如oracle数据库建立测试实例时默认建立的scott用户,一开始是处于locked状态的,现在我们需要将其解锁,步骤如下: (1)在cmd中登录sqlplus,例如 ...

  8. oracle 用户的管理<二>

    oracle 用户的管理 创建用户 概述:在 oracle 中要创建一个新的用户使用 create user 语句,一般是具有 dba(数据库管理员)的权限才能使用. create user 用户名 ...

  9. Oracle用户、权限、角色管理(转)

    http://blog.csdn.net/junmail/article/details/4381287 Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户 ...

随机推荐

  1. Python实现迪杰斯特拉算法

    首先我采用邻接矩阵法来表示图(有向图无向图皆可) 图的定义如下: class Graph: def __init__(self, arcs=[]): self.vexs = [] self.arcs ...

  2. Flask实现RESTful API(注意参数位置解析)

    准备工作 首先安装flask_restful三方组件 pip install flask_restful 在models.py中新建一个类,生成表,往里面插入一些数据.(flask要想使用ORM的话需 ...

  3. JavaScript基础-05-数组、Date对象、Math、包装类、字符串方法

    数组(Array) 1. 数组 数组也是一个对象,不同点:普通对象是使用字符串作为属性名的,数组是使用数字作为索引操作元素. 数组的存储性能比普通对象要好,在开发中经常使用数组来存储一些数据. 向数组 ...

  4. List 集合的操作

    如果当前id存在集合里  去除当前id   如果不在集合里   去除集合最后一个结果Long videoId = 0l; // 当前 IDList<VideoZoneReturnBean> ...

  5. python设计模式之状态模式

    python设计模式之状态模式 面向对象编程着力于在对象交互时改变它们的状态.在很多问题中,有限状态机(通常名为状态机)是一个非常方便的状态转换建模(并在必要时以数学方式形式化)工具.首先,什么是状态 ...

  6. 可以用命令行控制eclipse断点增加删除、远程调试创建与启动的插件

    java # 创建断点(支持条件断点) curl -X PUT -H "Content-Type:application/json" --data '{"language ...

  7. 不安装证书如何通过模拟器+Fiddler抓包APP的HTTPS请求?

    模拟器抓取https方法 说明:为了解决安卓手线上不能抓取https请求,以下整理通过模拟器抓取https请求方法如下:前置条件:安卓模拟器:夜神抓包工具:Fiddler汉化中文升级版1无需FIDDL ...

  8. python列表的增删改查和嵌套

    列表 python常用的数据类型 可承载任意的数据类型 列表是有序的,可索引.切片(步长) 列表的创建 list1 = [1, 2, 'whll'] #1. list2 = list() #2. #3 ...

  9. [PyTorch 学习笔记] 1.3 张量操作与线性回归

    本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/linear_regression.py 张量的操作 拼 ...

  10. C++统计单词数

    [题目描述] 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数.现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在 ...