语法规范
来源:互联网 发布:淘宝客推广效果好吗 编辑:程序博客网 时间:2024/05/11 21:49
【规则-1】:存储过程的In、out参数应按类别分开书写,不要交叉。
例:
create or replace procedure sp_create_scp(
i_gsm_user_id number, --用户号码
i_order_code number, --命令代码
i_operation_type number, --工单类型
i_operating_srl number, --操作流水
o_operation_srl out number, --工单流水(返回参数)
o_flag out number , --成功 0 ,失败 1
o_msg out varchar2
)
begin
… …
end;
【规则-2】:存储过程中变量的声明应集中在is和begin关键字之间申明
例:
create or replace procedure sp_create_scp(
… …
)
is
… …
v_user gsm_user%rowtype; --用户信息
v_value varchar2(30);
nCnt number(5):=0;
nPriority number(2):=0;
begin
… …
end;
【规则-3】:尽可能使用相关表字段类型来定义相关的变量,如%type,%rowtype。
说明:一般变量,都可能会用于表的查询条件,或增加记录的值;当字段数据类型发生变更时,对应的变量无需修改。
例:
…
v_user gsm_user%rowtype; --用户信息
select * from gsm_user where gsm_user_id = v_user;
…
当gsm_usre_id的类型变成字符型时,该段代码无需修改。
【规则-4】:确保所有的变量和参数都用到,没有用到的变量和参数要删除。
【规则-5】:存储过程有多个分支返回时,若有事务控制,需确保各个分支都结束事务。
异常时,应该在Exception中捕捉异常,并进行事务处理。
【规则-6】:存储过程:不要在异常部分,进行正常的业务处理。
说明:从程序的易读性、易维护性考虑,不要在异常处理部分,包含正常的业务处理部分。
例:(不好的写法)
…
exception
When no_data_found then
--没有找到记录,则重新查找其他数据
Select * from
….
End;
【规则-7】:原则上不要使用动态 sql,如果必须使用,需绑定变量,
绑定变量写法:
QUERY_STRING :='select pr_template from bssp.bssp_process_template where process_id=:ora_process_id for update';
… …
EXECUTE IMMEDIATE QUERY_STRING INTO LOB USING 38880003;
【规则-8】:代码中的异常捕获返回结果,要加上Oracle的异常sqlerrm(Oracle的一个session级的全局变量)。
例:
exception
when others then
rollback;
oResult :=1;
oMsg := 'others'||substr(sqlerrm,200);
end;
【规则-10】:捕捉到异常后需要rollback回滚事务。
例:
exception
when others then
rollback;
oResult :=1;
oMsg := 'others'||sqlerrm;
end;
- 语法规范
- Objective-C 语法规范
- java语法与规范
- Android.mk语法规范
- XHTML语法规范
- Android.mk 语法规范
- Android.mk语法规范
- XML语法规范
- Javascript语法规范
- Ant语法和规范
- iOS规范及语法
- Xml特点,语法规范
- html5(语法规范)
- XML语法规范
- JavaScrip使用语法规范
- js语法规范
- xpath语法规范
- CSS语法规范
- qt在windows7系统实时显示网络利用率
- 模块页代码的一部分
- 注释规范
- HDU2647 Reward
- JS制作有遮罩层的模式对话框 .
- 语法规范
- LayoutInflater的inflate函数用法详解
- SQL Server 中大小写区分的处理
- hdu—1004巨坑爹,以后编译用G++而不用C++
- IOS7 UITableCell背景透明问题
- AVR单片机控制LCD1602液晶显示
- 搭建cocos2d游戏引擎环境HelloWorld
- 2014年IT求职难题积累
- 有多个文件的程序,c++的心得!