如果有一些异常并没有异常名称,比如一些ORA-开头的异常并没有一个友好的预定义的异常定义,此时在WHEN子句中无法使用具体的异常名称,必须要使用OTHERS异常处理器进行捕捉.通过EXCEPTION_INIT编译指示,可以为这些不在预定义异常范围内的异常添加名称. 编译指示是指能在编译期而非运行时进行处理的编译指令. 编译指令EXCEPTION_INIT将告诉编译器,将异常名称和错误编号关联起来,使得在PL/SQL语句块中可以使用名称来引用所有的内部异常,为其在EXCEPTION语句块中编写特定…
RAISE_APPLICATION_ERROR在子程序内部使用时,能从存储子程序中抛出自定义的错误消息.这样就能将错误报告给应用程序而避免范围未捕获异常. 语法如下: RAISE_APPLICATION_ERROR(error_number, error_message, [keep_errors]); error_number是范围在-20000到-20999之间的负整数,error_message是最大长度为2048字节的字符串,keep_errors是一个可选的布尔值,True表示新的错误…
目录 数据类型 定义变量 PL/SQL控制结构 参考资料 Oracle10g数据类型总结 PL/SQL之基础篇 数据类型 学习总结 字符类型 char.nchar.varchar.nvarchar:有n的以字符存储无n的以字节存储,有var是可变的,存储空间以实际大小存储,无var的是固定大小,从空格补齐. 数字类型 NUMBER(p[,s]):定点数,s为小数位数 BINARY_FLOAT:32位单精度浮点数类型 BINARY_DOUBLE:64位双精度浮点数类型. 时间类型 date 定义变…
Pl/SQL简介 提高应用程序的运行性能, 提供模块化的程序设计, 自定义标示符, 具有过程语言控制结构, 良好的兼容性, 处理运行错误. Pl/SQL语言基础 sql是关系数据库的基本操作语言. sql语言包括:数据查询,数据操纵,事物控制,数据定义和数据控制语言登5个部分. Pl/SQL块 Pl/SQ的基本单元 DECLARE /*定义部分-变量,常量,游标,列解*/ BEGIN /*定义部分-PL/SQL语句*/ EXCEPTION /*异常处理部分-处理运行错误*/ END;/*结束块标…
数据类型划分 在Oracle之中所提供的数据类型,一共分为四类: 标量类型(SCALAR,或称基本数据类型) 用于保存单个值,例如:字符串.数字.日期.布尔: 标量类型只是作为单一类型的数据存在,有的只能够在PL/SQL中使用. 复合类型(COMPOSITE) 复合类型可以在内部存放多种数值,类似于多个变量的集合, 例如:记录类型.嵌套表.索引表.可变数组等都称为复合类型: 引用类型(REFERENCE) 用于指向另一不同的对象,例如:REF CURSOR.REF: LOB类型 大数据类型,最多…
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE server和其它工具中了,近几年中很多其它的开发者和DBA開始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件.以及怎样设计并运行一个PL/SQL程序. 1.PL/SQL的长处 从版本号6開始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的长处以及其独有的数据管理的便利性,那么你非常难想象ORACLE缺了PL/SQL的情形.PL/SQL 不是一个独立的产品,他…
在oracle中使用pl/sql来扩展SQL的功能,使得SQL能够更加的灵活,功能更加强大,效率更高.pl/sql让sql也能执行判断,循环等操作.主要记录一下pl/sql的基本语法和基本条件判断语句和循环语句供忘记了方便查阅. 1.pl/SQL的语法结构: declare //这部分用于声明变量 begin //这部分用于处理业务逻辑 exception //这部分用于处理例外也就是异常情况 end; 例如: declare uname varchar2(10); hello varchar2…
刚刚在inthirties老大的博客里看到这篇文章,写的不错,正好自己最近在学习PL/SQL,转过来学习学习. ================================================================================== bulk collect是可以看做是一种批获取的方式,在我们的plsql的代码段里经常作为into的扩展来使用.对于select id into v from .... 是一个常用的用法.不过这里只能是返回单条记录的时候,…
create table mytest(name varchar(20),password varchar(30)); create or replace procedure sp_pro2 is  begin  insert into mytest values('fc','123'); end; 查看错误信息 show error 怎样调用该过程: 1. exec 过程名 (參数,..) 2.  call 过程名 (參数  ) set server output on begin  dbms…
  数字字典表 --查看当前用户下面有哪些张表 select * from user_tables; select table_name from user_tables;   --查看当前用户下面有哪些视图 select * from user_views; select view_name from user_views;   --查看当前用户下面有哪些约束 select * from user_constraints; select constraint_name from user_co…