Oracle例外定义】的更多相关文章

例外名 ORA-XXXXX SQLCODE ACCESS_INTO_NULL ORA-06530 -6530 CASE_NOT_FOUND ORA-06592 -6592 COLLECTION_IS_NULL ORA-06531 -6531 CURSOR_ALREADY_OPEN ORA-06511 -6511 DUP_VAL_ON_INDEX ORA-00001 -1 INVALID_CURSOR ORA-01001 -1001 INVALID_NUMBER ORA-01722 -1722 L…
一.例外分类oracle将例外分为预定义例外.非预定义例外和自定义例外三种.1).预定义例外用于处理常见的oracle错误.2).非预定义例外用于处理预定义例外不能处理的例外.3).自定义例外用于处理与oracle错误无关的其它情况. 下面通过一个小案例演示如果不处理例外看会出现什么情况?编写一个存储过程,可接收雇员的编号,并显示该雇员的姓名.sql代码如下: SET SERVEROUTPUT ON;DECLARE V_ENAME EMP.ENAME%TYPE;BEGIN SELECT ENAM…
一.例外分类oracle将例外分为预定义例外.非预定义例外和自定义例外三种.1).预定义例外用于处理常见的oracle错误.2).非预定义例外用于处理预定义例外不能处理的例外.3).自定义例外用于处理与oracle错误无关的其它情况. 下面通过一个小案例演示如果不处理例外看会出现什么情况?编写一个存储过程,可接收雇员的编号,并显示该雇员的姓名.sql代码如下: SET SERVEROUTPUT ON;DECLARE V_ENAME EMP.ENAME%TYPE;BEGIN SELECT ENAM…
定义固定长度的一维数组 type type_array is varray(10) of varchar2(20); 1.varray(10)表示定义长度为10的数组 2.varchar2(20)表示数组为字符型,且元素字符串长度不超过20 定义可变长度的一维数组 type type_array is table of varchar2(20) index by binary_integer; 1.table表示可变长度 2.index by binary_integer 表示以符号整数为索引…
集合:是具有相同定义的元素的聚合.Oracle有两种类型的集合: 可变长数组(VARRAY):可以有任意数量的元素,但必须预先定义限制值. 嵌套表:视为表中之表,可以有任意数量的元素,不需要预先定义限制值. 在PL/SQL中是没有数组(Array)概念的.但是如果程序员想用Array的话,就得变通一下,用TYPE 和Table of Record来代替多维数组,一样挺好用的.emp_type 就好象一个table 中的一条record 一样,里面有id, name,gender等.emp_typ…
定义者权限:定义者权限指使用它所有者的权限,而不是当前用户来执行过程.因此,你可以限制用户执行的数据库操作,允许他们仅通过运行定义者权限的过程和函数访问数据.创建过程.函数和程序包的默认权限是定义者权限.   调用者权限:在当前的用户模式下用当前的用户权限来执行过程.换句话说,就是调用者的权限过程并不与某个特定的用户或模式绑定.调用者权限程序可以使应用程序开发人员很容易的将应用逻辑集中起来,即使底层的数据在用户和模式中被划分.创建时需要显式使用AUTHID CURRENT_USER来定义调用者过…
Oracle 同义词概念: Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系. 它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;Oracle数据库中提供了同义词管理的功能. 同义词是数据库对象的一个别名,经常用于简化对象访问和提高对象访问的安全性. 在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字.与视图类似,同义词并不占用实际存储空间,只有在数…
使用scott账户下的dept表: select * from dept order by deptno; 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 为了演示方便,插入一条数据: insert into dept(deptno, dname, loc) values(50,'SYSTEM', 'NEW YORK'); 新插入的记录为:50 SYSTEM NEW YORK 我们主要…
1. 简单变量 declare v_cnt NUMBER(10,0) := 0; BEGIN   SELECT COUNT(1) INTO v_cnt FROM concept.Decoction WHERE DecoctionId = -1;   IF v_cnt = 0 THEN    insert into concept.Decoction( DecoctionId, Code, Name, MnemonicCode, SpellCode, WBCode, ClinicItemId, I…
---约束分5种:主键 外键 唯一 非空 检查5类约束 Oracle中分列级别约束 与 表级别约束 列级别约束:在创建表时再列上面加约束 例如: create table table11( stuno number(2) constraint table_pk primary key, tname varchar2(5)unique--唯一约束 ) 上面两个字段都是在列上面直接写的约束 :可选[constraint table_pk] primary key, 表级别约束: 例如: --表级别约…
很多文章使用DESC tablename查看,这是查看的表结构,不是表定义. 如下: 1.set long 99999;  --增大输出缓冲区 2.SELECT dbms_metadata.get_ddl('TABLE','NET_PHY_EQP_ROUTE','RESYZ') FROM DUAL; 一定要注意,表名字是大写的(NET_PHY_EQP_ROUTE).…
DDL语言包括数据库对象的创建(create).删除(drop)和修改(alter)的操作 1.创建表语法 create table table_name( column_name datatype  [null | not null], column_name datatype  [null | not null], .......... [constraint] ) constraint 是为表中的列设置约束,常见的有主键约束.外键约束.检查约束等等. 示例:创建productionfo 表…
命名的系统异常 产生原因 ACCESS_INTO_NULL 未定义对象 CASE_NOT_FOUND CASE 中若未包含相应的 WHEN ,并且没有设置 ELSE 时 COLLECTION_IS_NULL 集合元素未初始化 CURSER_ALREADY_OPEN 游标已经打开 DUP_VAL_ON_INDEX 唯一索引对应的列上有重复的值 INVALID_CURSOR 在不合法的游标上进行操作 INVALID_NUMBER 内嵌的 SQL 语句不能将字符转换为数字 NO_DATA_FOUND…
C# 调用存储过程 參考了非常多文章,写了例如以下文字,算是分享吧 目的:更改积分,并作一定校验 一.一般的调试方法: 方法一:带返回out參数,必须定义变量 myresult DECLARE myresult INT; point  VARCHAR2(50) ; //假设要用字符类的变量,须要写长度. BEGIN    P_CHANGEVIPBALANCE('011111111',-1,'TEST',myresult); END; /* 假设不带输出參数.则能够直接用: 方法二:call  …
DECLARE v_productid productinfo.productid%TYPE; v_productname ); v_productprice ,); v_quantity ); v_desperation CONSTANT v_productname%TYPE:='测试'; v_spitgr SIMPLE_INTEGER := 99.9; v_long LONG :='long类型测试'; v_date DATS :=SYSDATE; BEGIN SELECT producti…
--使用Create遇见创建表 Create Table table_name ( column_name datatype [null|not null], column_name datatype [null|not null], ... [constraint] ); --语法说明 table_name:数据库表名称. column_name:表字段名称. datatype:数据列的字段类型. [null|not null]:字段的非空和允许为空限制. [constraint]:设置表字段…
1.例外分类:系统例外.自定义例外 (1)系统例外,参见相关API文档 (2)自定义例外 定义自己的例外:就像自定义变量一样,类型为exception 抛出例外:使用raise抛出自定义例外 set serveroutput on declare ; pename emp.ename%type; --self define exception self_no_data_found exception; begin open cemp; fetch cemp into pename; if cem…
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.sql语言特点 sql语言采用集合操作方式,对数据的处理是成组进行的,而不是一条一条处理,听过使用集合操作方式,可以家加快数据的处理速度. 执行sql语句时每次只能发送并处理一条语句.如果要降低语句发送和处理次数,可以使用pl/sql 执行sql语句时,用户只需要知道其逻辑含义,而不需要关心sql语句的具体执行步骤 使用sql时,既可以采用交互方式执行,也可以嵌入到高级语言中执行. 2.语言分类 数据查询语言(select语句):用于检索数据库数据.在select语句的功能和语法最…
程序异常是在操作期间正常,出现在节目的准备过程是不可避免的例外.但是,必须有一个相应的异常处理机 制,以保证程序的正常运行.PL/SQL程序运行过程中出现的错误.称为异常. 一个优秀的程序都应该可以正确处理 各种出错的情况.并尽可能的从错误中恢复. PL/SQL提供了异常处理机制. 概念: 异常处理(exception)是用来处理正常运行过程中未预料的事件,程序块的异常处理定义的错误和自己定义的错误, 因为PL/SQL程序块一旦产生异常而没有指出怎样处理时,程序就会异常的终止. 有三种类型的错误…
一.概述 pl/sql (procedural lanaguage/sql)是 oracle 在标准 sql 上的扩展 .不仅允许嵌入sql 语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理错误. -- 可以用来编写过程,函数,和触发器 -- 上述对象是放在数据库中的  //数据库端 -- 过程和函数可以在java程序中调用 ,触发器只能被触发,不能被调用 优点: 1.提高程序性能 2.模块化的程序设计思想 3.减少网络传输流量 4.安全性高 5.能处理较复杂的sql操作…
用户.角色.权限.表空间 create tablespace test1_tablespace datafile ‘test1file.dbf’ size 10m; create temporary tablespace temptest1_tablespace tempfile ‘temp1file.dbf’ size 10m; 创建永久表空间和临时表空间,并指定表空间名字,指定文件名称,大小(如不指定位置即放在默认位置) select file_name from dba_data_file…
1. 实现参照完整性      指若两个表之间具有主从关系(即主外键关系),当删除主表数据时,必须确保相关的从表数据已经被删除.  当修改主表的主键列数据时,必须确保相关从表数据已经被修改.为了实现级联删除,可在定义外部键约束时指定ON DELETE CASCADE关键字  alter table emp add constraint fk_deptno foreign key (deptno) references dept(deptno) on delete cascade; 实现级联更新,…
内容主要包括: (1)三种循环及其简化 (2)游标的使用 (3)异常处理 (4)存储过程 (5)存储函数 (6)触发器 (7)其它pl/sql操作 ---------------loop循环定义变量-------------------- declare cursor c1 is select * from emp;# rec emp%rowtype;# i numeber:=1; # v_count number;begin# select count(*) into v_count from…
1. 什么是Spring,谈谈你对Spring的理解 Spring是我们JAVA开发人员在搭建后台时选用的一个轻量级的开源框架,Spring框架目前也是功能丰富,十分优秀企业级采用最多的一个框架. Spring是一个IOC和AOP容器框架.它主要核心是: (1).控制反转(IOC):以前传统的java开发模式中,当需要一个对象时我们,我们会自己使用new或者getInstance等直接或者间接调用构造方法创建一个对象,而在Spring开发模式中,Spring容器使用了工厂模式为我们创建了所需要的…
来自:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它; 行2: IS关键词表明后面将跟随一个PL/SQL体. 行3: BEGIN关键词表明PL…
游标的简介 游标的概念 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作,然后将操作结果写回数据表中.…
原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程  1 CREATE OR REPLACE PROCEDURE 存储过程名  2 IS  3 BEGIN  4 NULL;  5 END; 行1:  CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;  行2:  IS关键词表明后面将跟随一个PL/SQL体.  行3: …
一. Hibernate介绍 Hibernate是基于对象/关系映射(ORM,Object/Relational Mapping)的一个解决方案.ORM方案的思想是将对象模型表示的对象映射到关系型数据库中,或者反之.Hibernate目前是ORM思想在Java中最成功.最强大的实现.它于2001年的年末发布第一个版本,立即引起了广泛的注意.2003年6月,Hibernate2发表,并且获得Jolt大奖,进而被JBoss吸纳成为它的一个子项目.2005年3月,Hibernate 3发表,其中做了一…
将数据从MySQL迁移到Oracle的注意事项1.自动增长的数据类型处理MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值.ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段.CREATE SEQUENCE 序列号的名称 (最好是表名+序列号标记)INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;INSERT 语句插入这个字段值为: 序列号的名称.NEX…