orcale 之pl/sql例外】的更多相关文章

orcale 中的例外我们可以看作是其他编程语言中的异常,是为了增强语言的健壮性和容错性. 在orcale中常见的有以下几种: No_data_found 很容易理解就是没有数据返回. Too_many_rows 在我们使用 select ... into 的时候这种错误经常的会发生,就是因为其返回了多条内容. Zero_Divide 被零除. Value_error 算数或者转换错误,比如说我们想把一个字符串 “abc” 转换成一个整数类型的数据 Time_on_resource 等待资源的时…
根据我们之前了解到的情况,SQL是面向集合的,我们的查询结果一般包含多条数据,而在PL/SQL 中的变量一般只能存放一条数据,因此变量是无法满足我们的需求的.这时候我们就需要引入游标来为我们解决问题了. 我们知道在 PL/SQL 中可以使用数据控制语言(DML)对数据进行操作,而在使用这些的时候 Orcale 会在内存中为其分配一个缓存区.而游标就是指向该缓存区的指针.它可以对查询结果集的每一行数据分别进行单独的处理. 游标分为显式游标和隐式游标.显式游标是由用户声明操作的一种游标,而隐式游标是…
控制语句是PL/SQL 的关键所在.只有学好这些控制语句才能在工作中更好的实现各种的功能. 选择结构 1. IF 语句 和其他的编程语言很类似.它的具体机构如下: IF(条件)THEN {语句} ELSIF(条件)THEN {语句} ELSE {语句} END IF; 注意上面的第二个条件那里是ELSIF 并不是 ELSEIF. 对于IF语句的情况请看如下的例子: --IF...THEN THEN INSERT INTO man values(Name,Birthday); ELSE INSER…
基本结构 不多说直接来看下它的结构: DECLARE -- 此处声明一些变量.常量.或者用户自定的数据类型 -- 这一部分是可选的,如果不需要可以不写 BEGIN -- 程序的主体,这里可以写一些合法的语句 EXCEPTION -- 处理异常 END; 从上面的结构中可以看出,由三部分组成:声明部分.执行部分和异常处理部分.其中执行部分是必须的,其他的部分都是可选的,记住最后 end 之后的分号是必须的. 注释 单行注释 由两个链接字符开始( -- ), 分号结束. 多行注释 由 /* 开始,…
PL/SQL(Procedure Language/SQL) PLSQL是Oracle对sql语言的过程化扩展:在SQL命令语言中增加了过程处理语句(如分支.循环等),使SQL语言具有过程处理能力.SQL语言的数据操作能力与过程语言的数据处理能力相结合,使PLSQL面向过程,但比过程语言简单.高效.灵活.实用.不同数据库的SQL扩展 Oracle:PL/SQL DB2:SQL/PL SQL Server:Transac-SQL(T-SQL)============================…
在pl/sql的执行过程中发生异常时系统所作的处理称为一个例外情况(exception).通常例外情况的种类有三种: 1.预定义的oracle例外情况oracle预定义的例外情况大约有24个,对于这种例外情况无需在程序中定义,由oracle自动地触发(重点) 2.非预定义的oracle例外情况由使用者增加定义例外情况,然后oracle自动将其触发执行. 3.自定义例外,这个用的较少. 自定义例外的基本语法: exception when <异常情况名> then <异常处理代码>…
在pl/sql的执行过程中发生异常时系统所作的处理称为一个例外情况(exception).通常例外情况的种类有三种: ①预定义的oracle例外情况,oracle预定义的例外情况大约有24个,对于这种例外情况无须再程序中定义,有oracle自动触发.(重点) ②非预定义的oracle例外情况由使用者增加定义例外情况,然后oracle自动将其触发. ③自定义例外,这个用的较少.     exception when  <异常情况明> then <异常处理代码> when <异常…
  1>>>>>异常错误处理 1 >预定义的异常处理 预定义说明的部分 ORACLE 异常错误对这种异常情况的处理,只需在PL/SQL块的异常处理部分,直接引用相应的异常情况名,并对其完成相应的异常错误处理即可.例1:更新指定员工工资,如工资小于1500,则加100: DECLARE v_empno employees.employee_id%TYPE := &empno; v_sal employees.salary%TYPE;BEGIN SELECT sal…
一.PL/SQL简介1.什么是PL/SQL程序?(PL/SQL是对SQL语言的一个扩展,从而形成的一个语言) 2.PL/SQL语言的特点(操作Orcale数据库效率最高的就是PL/SQL语言,而不是C,C++,或者Java) 3.不同数据库的SQL拓展 二.PL/SQL基础语法 1.PL/SQL的程序结构 2.定义基本变量 三.PLSQL代码讲解 1.引用型变量讲解 2,记录型变量代码讲解 四.PLSQL中if语句的使用(begin开始到end就是程序段) 五.PLSQL循环语句 1,while…
1.pl/sql编程 2.存储过程 3.函数 4.触发器 5.包 6.pl/sql基础 -定义并使用变量 7.pl/sql的进阶 8.oracle的视图 1.pl/sql编程 1.理解oracle的pl/sql的概念    2.掌握pl/sql编程技术(过程.函数.触发器)    pl/sql是标准sql语句的扩展    简介        1.过程.函数.触发器都是由pl/sql编写        2.过程.函数.触发器是在oracle中        3.pl/sql是非常强大的过程语言  …
1.PL/SQL概述 1)概念 pl/sql(procedural language)是Oracle在标准sql语言的基础上的扩展,可以实现定义变量.使用逻辑控制语句等 作用:默认oracle一次只能处理一条SQL语句,每条SQL语句都会向服务器发送请求调用,如果使用PL/SQL,一个块中的语句作为一个组,只向服务器发送一次请求调用,减少了网络传输,节省带宽,提高效率,提高安全性 缺点:移值性差,只有oracle中可用 2)组成 pl/sql程序由块组成,由块可组成不同的程序形式,包括:匿名块.…
今天第二次配置PL/sql developer,表示很蛋疼,昨天因为动了一个东西然后莫名其妙的就再也连接不了数据库,总是显示各种错误,我动的东西是因为中文会显示乱码,(因为我是用32位的PL/sql developer连接64位的orcale,所以参照网上的教程在添加了一个环境变量名字是NLS_LANG,值是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,然后把注册表下面的这个名字的值也改成了这一样的,然后我再次登陆就显示各种错误了,连改回去都不行,还尝试过重新创建数据库,最…
源地址:https://zhidao.baidu.com/question/187511430.html 1 sql(数据定义语言) 和PL/Sql的区别:答:SQL是结构化查询语言,比较接近自然语言,使用SQL,只需要说干什么,不需要说怎么干.由数据定义语言.数据操纵语言.数据控制语言构成,它不面向过程,即前一条语句与后一条语句无关.SQL是标准的语. PL/SQL,Oracle对SQL标准的扩充,增加了面向过程的功能,所以可以用来编写存储过程.存储函数.触发器等等. PL/SQL是结构化SQ…
一.简介 触发器在数据库里以独立的对象进行存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是由一个事件来触发运行.oracle事件指的是对数据库的表或视图进行的insert.update及delete操作或对视图进行类似的操作.oracle将触发器的功能扩展到了触发ORACLE,如用户的登录.数据库的启动与关闭等.所以触发器常用来完成由数据库的完整性约束难以完成的复杂业务规则的约束,或用来监视对数据库的各种操作,实现审计相关的功能. 触发器的组成如下: 触发事件:…
介绍PL/SQL之前,先介绍一个图像化工具:Oracle SQL Developer 在oracle的开发过程中, 我们难免会使用第三方开发的软件来辅助我们书写SQL, pl/sql是一个不错的sql书写工具. 下载链接:http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html PLSQL是程序设计语言,可以用来操作Oracle数据库! 学习PL/SQL目的:1)操作ORACLE数据库…
pl/sql语言是oracle在sql上扩展的语言.1 过程.函数.触发器是在pl/sql编写2 过程.函数.触发器是在oracle中3 pl/sql的语句可以在java中直接调用 简单介绍 在sql—plus编写一个存储过程,该过程可以向某表中添加记录. 第一步:创建表create table mytest(name varchar2(20), passwd varchar2(20)); 第二步:创建过程create procedure mypro1 is begin--执行部分insert…
PL/SQL分页 编写分页过程 无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解.首先是掌握最简单的存储过程,无返回值的存储过程: 案例:现有一张表book,表结构如下:书号 书名 出版社 请写一个过程,可以向book表添加书,要求通过java程序调用该过程. --in:表示这是一个输入参数,默认为in(不写in则默认就是in) --out:表示一个输出参数 Sql代码 .create or replace procedure…
pl/sql块介绍 介绍   块(block)是pl/sql的基本程序单元,编写pl/sql程序实际上就是编写pl/sql块,要完成相对简单的应用功能,可能只需要编写一个pl/sql块,但是如果想要实现复杂的功能,可能需要在一个pl/sql块中嵌套其它的pl/sql块. 块结构示意图 pl/sql块由三个部分构成:定义部分,执行部分,例外处理部分. 如下所示: declare /*定义部分——定义常量.变量.游标.例外.复杂数据类型*/ begin /*执行部分——要执行的pl/sql语句和sq…
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;…
程序异常是在操作期间正常,出现在节目的准备过程是不可避免的例外.但是,必须有一个相应的异常处理机 制,以保证程序的正常运行.PL/SQL程序运行过程中出现的错误.称为异常. 一个优秀的程序都应该可以正确处理 各种出错的情况.并尽可能的从错误中恢复. PL/SQL提供了异常处理机制. 概念: 异常处理(exception)是用来处理正常运行过程中未预料的事件,程序块的异常处理定义的错误和自己定义的错误, 因为PL/SQL程序块一旦产生异常而没有指出怎样处理时,程序就会异常的终止. 有三种类型的错误…
一.无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解.首先是掌握最简单的存储过程,无返回值的存储过程. 案例:现有一张表book,表结构如下:书号.书名.出版社. CREATE TABLE book( ID NUMBER(4), book_name VARCHAR2(30), publishing VARCHAR2(30)); 请写一个过程,可以向book表添加书,要求通过java程序调用该过程. --注意:in->表示这是一…
一.pl/sql developer开发工具pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品. 二.pl/sql介绍开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql语句及语法规则.pl/sql编程可以使用变量和逻辑控制语句,从而可以编写非常有用的功能模块.比如:分页存储过程模块.订单处理存储过程模块.转账存储过程模块.而且如果使用pl/sql编程,我们可以轻松地完成非…
一.pl/sql 是什么pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展.pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大. 二.为什么要学pl/sql1.提高应用程序的运行性能2.模块化的设计思想(分页的过程,订单的过程,转账的过程..)3.减少网络传输量4.提高安全性(sql会包括表名,有时还可能有密码,传输的时候会泄露.PL/SQL就不会) 三.…
一.无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解.首先是掌握最简单的存储过程,无返回值的存储过程. 案例:现有一张表book,表结构如下:书号.书名.出版社. CREATE TABLE book( ID NUMBER(4), book_name VARCHAR2(30), publishing VARCHAR2(30)); 请写一个过程,可以向book表添加书,要求通过java程序调用该过程. --注意:in->表示这是一…
一.pl/sql developer开发工具pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品. 二.pl/sql介绍开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql语句及语法规则.pl/sql编程可以使用变量和逻辑控制语句,从而可以编写非常有用的功能模块.比如:分页存储过程模块.订单处理存储过程模块.转账存储过程模块.而且如果使用pl/sql编程,我们可以轻松地完成非…
一.pl/sql 是什么pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展.pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大. 二.为什么要学pl/sql1.提高应用程序的运行性能2.模块化的设计思想(分页的过程,订单的过程,转账的过程..)3.减少网络传输量4.提高安全性(sql会包括表名,有时还可能有密码,传输的时候会泄露.PL/SQL就不会) 三.…
一.PL/SQL介绍 1.概念 PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL可以用来编写存储过程.存储函数.触发器等等. PL/SQL是结构化SQL,就是在标准SQL中加入了IF...ELSE... For....等控制过程的SQL. 2.学习必要性 提高程序的运行性能传统的使用程序操作数据库的方式需要获得connection…
一.控制结构 控制结构包括:判断语句(条件分支语句).循环语句.顺序控制语句三种. 1.条件分支语句 if--then:简单条件判断 --编写一个过程,可以输入一个雇员名,如果该雇员名的工资低于2000,就给该雇员工资增加10% create or replace procedure pro_addSal(v_ename varchar2) is --定义变量 v_sal emp.sal%type; begin select sal into v_sal from emp where ename…
为什么需要pl/sql编程? 因为使用纯的sql语句来操作数据库,有先天性的技术缺陷: 1.不能模块编程: 2.执行速度慢: 3.安全性有问题: 4.浪费带宽. pl/sql是什么? pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展.pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大. 学习必要性 1.提高应用程序的运行性能: 2.模块化的设计思想[分页…
本文的操作选用的数据库是oracle 数据库,登陆的用户是自带的scott用户,默认密码:tiger,有不懂得可以相互讨论一下,谢谢. 首先需要了解PL/SQL块的结构,PL/SQL块由定义部门.执行部门.例外处理部分三个部分组成: declare  /**   *定义部分---定义常量.变量.复杂数据类型.游标.例解   *   */ begin  /**   * 执行部分--- PL/SQL语句和SQL语句   *   */ exception   /**    *例外处理部分---处理运行…