Oracle中的MS SQLSERVER@@ERROR
2009-12-25 13:29
274 查看
Oracle内置函数SQLCODE和SQLERRM是特别用在OTHERS处理器中,分别用来返回Oracle的错误代码和错误消息。
OTHERS处理器应该是异常处理块中的最后的异常处理器,因为它是用来捕获除了别的异常处理器处理以外的所有的Oracle异常,所以在程序的最外层使用一个OTHERS处理器的话,将可以确保所有的错误都会被检测到。
在一个内在的异常中,SQLCODE返回Oracle错误的序号,而SQLERRM返回的是相应的错误消息,错误消息首先显示的是错误代码。SQLCODE返回的是负数,除非Oracle的错误为“ORA-01403:NODATAFOUND”(译:ORA-01403:未找到数据),当Oracle错误为“ORA-01403:NODATAFOUND”时,其对应的SQLCODE为 100。对于用户自定义的异常,SQLCODE返回的是 1,而SQLERRM返回的是User-DefinedException。
一个Oracle的错误消息最多只能包含512个字节的错误代码。如果没有异常被触发,则SQLCODE返回0,SQLERRM返回“ORA-0000:normal,successfulcompletion”。
OTHERS处理器应该是异常处理块中的最后的异常处理器,因为它是用来捕获除了别的异常处理器处理以外的所有的Oracle异常,所以在程序的最外层使用一个OTHERS处理器的话,将可以确保所有的错误都会被检测到。
在一个内在的异常中,SQLCODE返回Oracle错误的序号,而SQLERRM返回的是相应的错误消息,错误消息首先显示的是错误代码。SQLCODE返回的是负数,除非Oracle的错误为“ORA-01403:NODATAFOUND”(译:ORA-01403:未找到数据),当Oracle错误为“ORA-01403:NODATAFOUND”时,其对应的SQLCODE为 100。对于用户自定义的异常,SQLCODE返回的是 1,而SQLERRM返回的是User-DefinedException。
一个Oracle的错误消息最多只能包含512个字节的错误代码。如果没有异常被触发,则SQLCODE返回0,SQLERRM返回“ORA-0000:normal,successfulcompletion”。
相关文章推荐
- MS SQL Server 与 Oracle在应用上的不同 : 如果应用系统要迁移
- Access,MS SQL Server 和 Oracle 中的通配符
- Access,MS SQL Server 和 Oracle 中的通配符
- MS SQL Server和Oracle对数据库事务处理的差异性
- Oracle 9i与MS SQL Server 2000之比较
- 数据库查询排序使用随机排序结果示例(Oracle/MySQL/MS SQL Server)
- 如何使用Oracle SQLDeveloper 中连接MS SQLServer和MySQL数据库
- ibatis中主键自动增长(Oracle,Ms sql server ,mysql)
- Oracle SQL Developer连接MS SQL SERVER 2000的处理
- 应邀做这样一个讲座 , 关于MS SQLServer \ Oracle中应用优化的诸要素和实施, 大家看
- Oracle 9i与MS SQL Server 2000之比较连载一:目录
- iBatis自动生成的主键 (Oracle,MS Sql Server,MySQL)
- 将MS SQL SERVER 数据库导入到ORACLE的坑
- 一个小项目从MS SQL Server移植到Oracle的SQL 语句的变化
- Oracle与Ms Sqlserver拼结字符串的异同
- Oracle 10G compare MS SQL SERVER 2008
- MS SQL Server,Oracle 和 MySQL 有哪些区别
- iBatis自动生成的主键 (Oracle,MS Sql Server,MySQL)
- Oracle和MS SQL server的函数对比
- oracle通过透明网关(Oracle Transparent Geteways),访问ms sql server和其他数据库