pl/sql coding guidelines - part 3

Post on 14-Apr-2017

328 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

AGENDANumeric Data TypesCharacter Data TypesBoolean Data TypesLarge ObjectsReferenceQ & A

2

VARIABLES & TYPESNumeric Data Types

18. AVOID DECLARING NUMBER VARIABLES OR SUBTYPES WITH NO

PRECISION.

BADDECLARE v_number number; BEGIN ... END;

GOODDECLARE v_number number(9, 2); BEGIN ... END;

19. TRY TO USE PLS_INTEGER INSTEAD OF NUMBER FOR ARITHMETIC OPERATIONS WITH INTEGER VALUES (NO DECIMAL POINT).

VARIABLES & TYPESCharacter Data Types

20. AVOID USING CHAR DATA TYPE.

BADDECLARE v_str char(4000) := 'test'; BEGIN DBMS_OUTPUT.PUT_LINE(Length(v_str)); END;

GOODDECLARE v_str varchar2(4000) := 'test'; BEGIN DBMS_OUTPUT.PUT_LINE(Length(v_str)); END;

21. AVOID USING VARCHAR DATA TYPE.

BADDECLARE v_str varchar(4000);BEGIN …END;

GOODDECLARE v_str varchar2(4000); BEGIN …END;

22. NEVER USE ZERO-LENGTH STRINGS TO SUBSTITUTE NULL.

BADDECLARE v_str varchar2(4000) := ''; BEGIN DBMS_OUTPUT.PUT_LINE(CASE WHEN v_str

is null THEN 'null' ELSE 'not null' END); END;

GOODDECLARE v_str varchar2(4000); BEGIN DBMS_OUTPUT.PUT_LINE(CASE WHEN v_str

is null THEN 'null' ELSE 'not null' END); END;

23. ALWAYS DEFINE YOUR VARCHAR2 VARIABLES USING CHAR SEMANTIC.

BADDECLARE v_str varchar(200); BEGIN ... END;

GOODDECLARE v_str varchar(200 char); BEGIN ... END;

VARIABLES & TYPESBoolean Data Types

24. TRY TO USE BOOLEAN DATA TYPE FOR VALUES WITH DUAL MEANING.

BADDECLARE v_IsBigger number(1) := 1; BEGIN DBMS_OUTPUT.PUT_LINE(CASE WHEN

v_IsBigger = 1 THEN 'True' ELSE 'False' END);

END;

GOODDECLARE v_IsBigger BOOLEAN := true; BEGIN DBMS_OUTPUT.PUT_LINE(CASE WHEN

v_IsBigger THEN 'True' ELSE 'False' END); END;

VARIABLES & TYPESLarge Objects

25. AVOID USING THE LONG AND LONG RAW DATA TYPES.

REFERENCE27

Q&A29

QUESTION & ANSWER

30

top related