oracle代码的常见错误汇总

 更新时间:2014年07月10日 17:48:31   投稿:shichen2014  
这篇文章主要介绍了oracle代码的常见错误,需要的朋友可以参考下

很多使用其他数据库的朋友在转到Oracle数据库的时候经常会犯一些习惯性的错误,本文汇总了一些常见的Oracle代码错误,供大家查询比对。

1. 插入语句写成:

insert into t1 values(...)

应为:

insert into t1(...) values(...)

2.

to_char(sysdate,'YYYYMMDDHHMMSS')

应改为:

to_char(sysdate,'YYYYMMDDHH24MISS')

3.

select count(*) into v_count from t1 where c1=?;

永远不会触发no_data_found错误,应该判断v_count=0

4.返回值问题:

合理的处理办法:
在过程的开始 result:=false;
在过程的结尾 result:=true;
中间不需要对result赋值。

不合理的处理办法:
在过程的开始 result:=true;
中间代码每一处判断不符合时需result:=false赋值。
在过程的结尾不需对result赋值

5.

select c1,c2 in from t1 where c3 = v_c3;
if v_c1 = 0 or v_c2 = 0 then

执行该代码找不到时会报错,不会返回0
应该用when no_data_found判断

6. 

'... where c1 = ' || v_c1;

c1字段为字符型,要加单引号,否则用不上c1索引,oracle内部转换成了'... where c1 = ' ||chr(39)|| to_char(v_c1)||chr(39);
改为:

where c1 = '||chr(39) ||v_c1||chr(39);

7.如果只判断是否存在数据,应加and rownum<2速度更快

select count(*)
into v_count
from t1
where c1 = v_c1;

应加条件:and rownum<2

8.

WHERE EXISTS (SELECT *
FROM t1

应为:

WHERE EXISTS (SELECT 'x'
FROM t1

9.

RAISE_APPLICATION_ERROR(-20000, infoMsg);

不要都用20000错误号
RAISE_APPLICATION_ERROR的可用错误号范围为-20000至-20999

相关文章

  • Oracle数据库存储过程的调试过程

    Oracle数据库存储过程的调试过程

    oracle如果存储过程比较复杂,我们要定位到错误就比较困难,那么我们就可以用存储过程的调试功能,下面这篇文章主要给大家介绍了关于Oracle数据库存储过程调试的相关资料,需要的朋友可以参考下
    2022-07-07
  • linux自动运行rman增量备份脚本

    linux自动运行rman增量备份脚本

    这篇文章主要介绍了linux自动运行rman增量备份脚本,实现周日和周三凌晨1:00执行0级全库备份,周一、二、四、五、六凌晨1:30执行增量备份,需要的朋友可以参考下
    2014-03-03
  • Oracle新增字段和注释代码示例

    Oracle新增字段和注释代码示例

    Oracle数据库中给字段添加注释是非常有用的,在我们对数据库进行分析和维护时,通过字段注释可以更容易地了解这些字段的含义,这篇文章主要给大家介绍了关于Oracle新增字段和注释的相关资料,需要的朋友可以参考下
    2023-09-09
  • 常用Oracle分析函数大全

    常用Oracle分析函数大全

    本文是小编日常手机整理的有关oracle分析函数,oracle分析函数功能非常强大,工作也常用到,所以大家务必要掌握,对oracle分析函数知识感兴趣的朋友一起看看吧
    2016-08-08
  • oracle异常(预定义异常,自定义异常)应用介绍

    oracle异常(预定义异常,自定义异常)应用介绍

    在开发过程中,经常会遇到一些测试,这时候就会想了解测试的过程,然后再根据过程分析代码错在哪里,这种情况下,就需要用到自定义异常,需要了解的朋友可以参考本文
    2012-11-11
  • oracle表空间表分区详解及oracle表分区查询使用方法

    oracle表空间表分区详解及oracle表分区查询使用方法

    racle表空间表分区详解及oracle表分区查询使用方法,大家参考使用吧
    2013-12-12
  • oracle数据库查询所有表名和注释等

    oracle数据库查询所有表名和注释等

    这篇文章主要给大家介绍了关于oracle数据库查询所有表名和注释等的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考学习价值,需要的朋友可以参考下
    2023-04-04
  • Oracle建立二进制文件索引的方法

    Oracle建立二进制文件索引的方法

    Oracle建立二进制文件索引的方法...
    2007-03-03
  • Oracle 数据库 临时数据的处理方法

    Oracle 数据库 临时数据的处理方法

    在Oracle数据库中进行排序、分组汇总、索引等到作时,会产生很多的临时数据。如有一张员工信息表,数据库中是安装记录建立的时间来保存的。
    2009-06-06
  • Oracle数据库中的控制文件管理以及常用参数设置

    Oracle数据库中的控制文件管理以及常用参数设置

    这篇文章主要介绍了Oracle数据库中的控制文件管理以及常用参数设置方法,包括控制文件不一致问题的解决方法以及隐藏参数等技巧,需要的朋友可以参考下
    2015-12-12

最新评论