ORACLE异常处理总结
1:预定义异常 用于处理常见的Oracle错误
2:非预定义异常 用于处理预定义异常所不能处理的Oracle错误
3:自定义异常 用于处理于Oracle错误无关的其他情况
异常处理部分是以关键字EXCEPTION开始的,语法如下:
EXCEPTION
WHENexception_NameTHEN --exception_Name为异常的名字
statement1;
WHENOTHERSTHEN
statement1;
异常处理部分从关键字EXCEPTION开始,在异常处理部分使用WHEN字句捕捉各种异常,如果有其他未预定义到的异常,使用WHENOTHERSTHEN字句进行捕捉和处理。
1、处理预定义异常,这是系统预定的21种类型
错误代码是负整数,如-51
Access_info_null(ora-06530)
当访问没有初始化的对象时触发。
Case_not_found(ora-06592)
case过程中when后没有包含必要的条件分支并且没有else子句,则会触发本异常。
Collection_is_null(06531)
访问未初始化的集合元素(嵌套表或者varray)。
Cursor_already_open(ora-06511)
重新打开已经打开的游标。
Dup_val_on_index(ora-00001)
当中唯一索引所对应的列上键入重复值时。
Invalid_cursor(ora-01001)
试图在不合法的游标上执行操作时,譬如没打开游标就提取内容
Invalid_number(ora-01722)
当试图将非法的字符串转换为数字类型时。
No_data_found(ora-01403)
执行select into未返回行,或者引用了索引表未初始化的元素时。
Too_many_rows(ora-01422)
执行select into返回超过一行数据时。
Zero_divide(ora-01476)
0作为被除数时。
Subscript_beyond_count(ora-06533)
使用嵌套表或者varray集合时,如果引用下标超过last。
Subscript_outside_limit(ora-06532)
使用嵌套表或varray集合时,如果引用下标小于first。
Value_error(ora-06502)
在执行赋值操作时,如果变量长度不足以容纳实际数据。
Login_denied(ora-01017)
连接数据库时提供了不正确的用户名或口令。
Not_logged_on(ora-01012)
在程序没有连接到oracle数据库时执行plsql代码则会触发。
Program_error(ora-06501)
plsql内部问题。
Rowtype_mismatch(ora-06504)
执行赋值操作时,如果宿主游标变量和PLSQL游标变量返回类型不兼容时。
Self_is_null(ora-30625)
使用对象类型时,如果在null实例上调用成员方法。
Storage_
相关文档:
每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。Oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。
数据库系统权限(Database System Privil ......
案例说明:
有A,B两台oracle数据库,都为10g,现在有一个A数据库中one表的几条数据要插入到B数据库中的one表?
在网上查阅了一下,可以通过在A上建立dblink,当然在B机上建立也是一样的。
打开sqlplus终端,或者任意的oracle客户端环境,执行以下SQL
create database link 链接名
connect t ......
转载自 http://hi.baidu.com/libinichen/blog/item/9e13ac31175877a95edf0e0b.html
注:SID - 数据库标识
HOME_NAME - Oracle Home名称,如OraHome92、OraHome81
(1)OracleServiceSID
数据库服务,这个服务会自动地启动和停止数据库。如果安装了一个数据库,它的缺省启动类型为自动。服务进程为ORACLE.EXE,参数文件 ......
oracle11g具有自动的表压缩功能, 但当insert语句未指定具体的列名时, 会使用自动表压缩功能失效。(如该语句会使得表t_test不能自动压缩: insert into t_test select * from t_test2)
另外使用一些外部工具进行数据装载(sqlload),也有可能使得表不能自动压缩,此时需要用以下语句,以重新分析表,分析完成之后,该表即会 ......
在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所有满足条件的记录全部都选择出来,再去进行分页处理,那么就会多多的浪费掉许多的系统处理时间。为了能够把效率提高,所以现在我们就只选择我们需要的数据,减少数据 ......