oracle代码常见错误摘要
1。INSERT语句被写为:
插入到t1值(…)
它应该如下所示:
插入t1(…)值(…)
二
to_char(SYSDATE,'yyyymmddhhmmss)
应该改为:
to_char(SYSDATE,'yyyymmddhh24miss)
三
select count(*)为v_count从T1 C1 =;
的no_data_found错误永远不会被触发,并v_count = 0应判断
4。返回值问题:
合理处理方法:
在流程结果的开始时:= false;
在流程结果的结尾处:=真;
没有必要指定一个值来产生中间值。
不合理的治疗方法:
在流程结果的开始时:=真;
结果:当每个判断中的中间代码不一致时,需要错误赋值。
过程结束时不需要分配结果。
五
选择C1,C2,C3 = v_c3从T1;
如果v_c1 = 0或v_c2 = 0
如果找不到代码,它将被报告错误,不会返回到0。
它应该被当no_data_found
六
在C1 =v_c1 | | ..;
对于字符C1场,用单引号,或者不使用的C1指数、Oracle转换到C1 =| | CHR…(39)| | to_char(v_c1)| | CHR(39);
改变:
其中C1 =| | CHR(39)| | v_c1 | | CHR(39);
7。如果只有数据判断,和rownum < 2应加快
选择计数(*)
为v_count
从T1
其中C1 = v_c1;
条件应该说:和rownum < 2
八
存在(选择*)
从T1
它应该如下所示:
在存在(select'x)
从T1
九
raise_application_error(20000,infomsg);
不要全部使用20000个错误号。
对于raise_application_error可用的错误数的范围是从20000到20999