Oracle存储过程变量命名约定

Man*_*kar 5 sql oracle plsql naming-conventions

在oracle,PL/SQL中编写存储过程时,编写参数名后会有很多命名约定.

  1. PROCEDURE PROC_MY_STORED_PROCEDURE (sFirstName VARCHAR2, nId NUMBER, oCursor REF_CURSOR)

    PROCEDURE PROC_MY_STORED_PROCEDURE (first_name_in VARCHAR2, Id_in NUMBER, o_Cursor REF_CURSOR)

  2. 应与局部变量前缀ll_与全球同gg_

是否还有其他良好的命名惯例?

要遵循的最佳做法是什么?

Gar*_*ers 9

我将最优先考虑的是选择一个明确区分本地(或全局)变量和列名的命名方案.无论前缀是l_是本地还是v_是变量还是其他什么都不重要.

要捕获的另一种情况是参数或变量包含字符串格式的日期(或潜在日期)(例如,从文件加载或从网页传递但尚未验证).使用命名约定(例如_DATEC后缀)可以清楚地区分这些与实际日期,并避免隐式转换.根据您的应用程序,您可能希望将已清理的变量与未过滤的变量区分开来(即,是否已检查它们是否存在潜在的SQL注入或XSS /其他HTML恶意软件).

变量名称不区分大小写,IDE格式化程序可能会根据首选项更改大小写.所以我更喜欢单词之间的下划线分隔符,而不是依赖于camelCase.


OMG*_*ies 5

一致性是命名约定的关键.
只要总是使用约定,那么使用它并不重要.之后,如有必要,提供文件.

也就是说,我喜欢的一个约定是在变量名中指明方向.IE:IN参数将是: IN_FIRST_NAME; 一个OUT参数将是:OUT_FIRST_NAME,一个IN OUT将是IN_OUT_FIRST_NAME.Oracle有字符限制(32个字符IIRC),所以不要太疯狂.

  • 限制为30个字符. (3认同)