段的名称、数据类型、缺省值、是否为空等对齐美观即可。
3.5 创建过程/函数/包
规则:脚本中的参数缩进为4个空格。
规则:脚本中的参数名称、数据类型、注释信息应左对齐,IN/OUT/IN OUT关键字左对齐右对齐皆可。 示例:
CREATE OR REPLACE PROCEDURE P_CSP_PROCEDURENAME (
i_DateParam o_IntParam o_RetCode )
DATE,
-- 注释 -- 注释 -- 注释
IN OUT INT, OUT INT
o_VarcharParam OUT VARCHAR2, -- 注释
或者
CREATE OR REPLACE PROCEDURE P_CSP_PROCEDURENAME (
i_DateParam o_IntParam o_RetCode )
DATE, INT, INT
-- 注释 -- 注释 -- 注释
IN OUT
OUT OUT
o_VarcharParam VARCHAR2, -- 注释
说明:至于每行中的每个项目之间使用多少个空格没有明确要求,只要求从纵向上各个参数的名称、数据类型、IN/OUT关键字等对齐美观即可。
2013-03-28 第16页,共71页
第4章 命名规范
规则:所有用户自定义的数据库对象名称统一使用形如“对象前缀+下划线+模块名缩写+下划线+对象名称”的格式。 说明:
? 对象名称中可以根据需要使用下划线进行分隔;
? 创建对象时,禁止通过双引号指定对象名称,ORACLE在数据字典中统一存放为
大写;
? 对象类型前缀建议不要超过三个字符,可参考以下对象前缀表;
? 编码时禁止以ORACLE系统对象的前缀作为对象类型前缀,具体请参考
ORACLE系统对象使用前缀表;
? 模块名缩写建议不要超过三个字符,可参考附录中的常见模块名缩写表; ? 数据表字段名称没有前缀; ? 对象名称长度不宜超过18个字符。 ? 计费相关模块名:Comm,Cash,Owe,Acct
表2
对象类型 前缀 对象前缀表
示例 TBS_ACCT_INDEX TBS_COMM_INDEX T_OWE_TABLENAME T_CASH_BEGINDATE 备注 TBS 表空间命名(TableSpace) 表(Table) T 遵循现有规则,以A开头,例如:A_OWE_ITEM 建议采用 STATE_DATE的方式来命名 视图(View) 字段(Field) V 无 V_OWE_VIEWNAME FIELDNAME STATE_DATE 序列(Sequence) SEQ SEQ_TABLENAME_FIELDNAME 2013-03-28 第17页,共71页
索引(Index) IDX IDX_OWE_INDEXNAME IDX_CASH_INDEXNAME 如果表名或字段名过长,则用表名和字段名的缩写表示 如果表名或字段名过长,则用表名和字段名的缩写表示 如果表名过长,则用表名的缩写表示 T1为外键所在的表,T2为外键所参照的表 如果表名过长,则用表名的缩写表示 唯一索引 UK UK_OWE_INDEXNAME UK_CASH_INDEXNAME 主键(Primary Key) 外键(Foreign Key) PK PK_OWE_KEYNAME PK_CASH_KEYNAME FK_OWE_T1_T2 FK_CASH_T1_T2 FK 簇(Cluster) CLS CLS_OWE_TABLENAME CLS_CASH_TABLENAME 触发器(Trigger) 过程(Stored Procedure) 函数(Function) 包(Package) TRG TRG_OWE_TRIGGERNAME TRG_CASH_TRIGGERNAME P_OWE_PROCEDURENAME P_CASH_PROCEDURENAME P_OWE_FUNCTIONNAME P_CASH_FUNCTIONNAME PKG_OWE_PKGNAME PKG_CASH_PKGNAME SYN_OWE_TABLENAME P F PKG 同义词(Synonyms) 保存点(SavePoint) 类型(Type)
SYN SPT TYP SPT_OWE_SPTNAME SPT_CASH_SPTNAME TYP_OWE_TYPENAME 表3
对象类型 簇(Cluster) 索引(Index) ORACLE系统对象使用前缀表
前缀 C_ AQ$_ HS$_
示例 C_USER# AQ$_MSGTYPE_PRIMARY HS$_GRANTUSER_PK 第18页,共71页
2013-03-28
I_ SYS_ 包(Package) DBMS_ UTL_ AQ$_ EVT_ HS$_ ORA_ REPCAT$_ SMP_ SYSTEM_ DEF$_ SMP_ AQ$_ HS$_ DEF$_ EVT_ REPCAT$_ SMP_ AQ$_ SMP_ I_AUDIT SYS_C00512 DBMS_OUTPUT UTL_FILE AQ$_QIDSEQ EVT_NOTIFY_SEQ HS$_CLASS_CAPS_S ORA_TQ_BASE# REPCAT$_REPPROP_KEY SMP_LONG_ID SYSTEM_GRANT DEF$_ERROR SMP_JOB_ID AQ$_MESSAGE_TYPES HS$_PRIVILEGES DEF$_LOB EVT_OPERATORS REPCAT$_DDL SMP_JOB AQ$_DEF$_AQCALL SMP_BLOB 序列(Sequence) 同义词(Synonyms) 表(Table) 视图(View)
规则:所有用户定义的存储过程或函数中使用的参数、变量、异常等统一采用“小写前缀+下划线+逻辑首字母大写”的格式,其中的小写前缀代表参数、变量、类型或异常等的类型,而常量则统一使用全部大写(可根据情况使用下划线进行分隔)。小写前缀请参考下表:
表4
变量类型 函数、过程输入参数 函数、过程输出、输入输出参数 函数、过程局部变量 游标变量 i o v _Cursor 参数、变量、常量、异常等前缀表
示例 i_BeginDate i_EndDate o_Result o_Info v_WorkerNo CursorName_Cursor 备注 首字母 2013-03-28 第19页,共71页
自定义常量 自定义异常 自定义表类型 自定义表变量 自定义记录类型 自定义记录变量
c e _Table_Type _Table c_BeginTime e_UserException Emp_Table_Type Emp_Table _Record_Type Emp_Record_Type _Record Emp_Record 规则:标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。
建议:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写,请参考附录中的常用词缩写表。
规则:命名中若使用特殊约定或缩写,则要有注释说明。
说明:应该在源文件的开始之处,对文件中所使用的缩写或约定,特别是特殊的缩写,进行必要的注释说明。
规则:所有的命名不允许使用拼音,必须使用英文命名。
规则:使用有意义、易于记忆、描述性强、简短及具有唯一性的英文单词。使用下划线要有一致性,要么不用。自己特有的命名风格,要自始至终保持一致,不可来回变化。 说明:个人的命名风格,在符合所在项目组或产品组的命名规则的前提下,才可使用。(即命名规则中没有规定到的地方才可有个人命名风格)。
规则:对于变量命名,禁止取单个字符(如i、j、k...),建议除了要有具体含义外,还能表明其变量类型、数据类型等。形如i、j、k的变量只允许作为局部循环变量。
说明:变量,尤其是局部变量,如果用单个字符表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了这个小小的错误而花费大量的查错时间。
2013-03-28
第20页,共71页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库ORACLE编程规范(4)在线全文阅读。
相关推荐: