pl/sql coding guidelines - part 2

Post on 20-Jan-2017

181 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PL/SQL & SQL CODING GUIDELINES – PART 2Larry Nung

AGENDAVariables & TypesReferenceQ & A

2

VARIABLES & TYPESGeneral

8. TRY TO USE ANCHORED DECLARATIONS FOR VARIABLES,

CONSTANTS AND TYPES.

BADDECLARE

v_empName VARCHAR2(10); BEGIN

… END;

GOODDECLARE

v_empName emp.ename%TYPE; BEGIN

… END;

9.TRY TO HAVE A SINGLE LOCATION TO DEFINE YOUR TYPES.

10. TRY TO USE SUBTYPES FOR CONSTRUCTS USED OFTEN IN YOUR APPLICATION.

BADDECLARE

v_str VARCHAR2(4000); BEGIN

… END;

GOODCREATE OR REPLACE PACKAGE PKG_SUBTYPE AS

SUBTYPE STRING_MAX IS VARCHAR2(4000); END PKG_SUBTYPE;

DECLARE v_str PKG_SUBTYPE.STRING_MAX;

BEGIN ...

END;

11. NEVER INITIALIZE VARIABLES WITH NULL.

BADDECLARE

v_str VARCHAR2(30) := null; BEGIN

... END;

GOODDECLARE

v_str VARCHAR2(30); BEGIN

... END;

12. AVOID COMPARISONS WITH NULL VALUE, CONSIDER USING IS [NOT] NULL.

BADDECLARE

v_str VARCHAR2(30); BEGIN

if v_str = null then …

end if; END;

GOODDECLARE

v_str VARCHAR2(30); BEGIN

if v_str is null then …

end if; END;

13. AVOID INITIALIZING VARIABLES USING FUNCTIONS IN THE DECLARATION SECTION.

BADDECLARE

l_company_name VARCHAR2(30) := util_pck.get_company_name(in_id => 47);

BEGIN …

END;

GOODDECLARE

v_str VARCHAR2(30); BEGIN

<<init>> BEGIN v_str := util_pck.get_company_name(inId => 47); EXCEPTION WHEN VALUE_ERROR THEN ...END init;

END;

14. NEVER OVERLOAD DATA STRUCTURE USAGES.

BAD<<main>> DECLARE

v_str VARCHAR2(30); BEGIN

<<sub>> DECLARE v_str VARCHAR2(4000) ; BEGIN …END sub;

END main;

15. NEVER USE QUOTED IDENTIFIERS.

BAD<<main>> DECLARE

"v_str" VARCHAR2(30) ; BEGIN

…END main;

16. AVOID USING OVERLY SHORT NAMES FOR DECLARED OR IMPLICITLY DECLARED IDENTIFIERS.

17. AVOID THE USE OF ROWID OR UROWID

REFERENCE26

Q&A28

QUESTION & ANSWER

29

top related