pl/sql coding guidelines - part 3
TRANSCRIPT
![Page 1: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/1.jpg)
PL/SQL & SQL CODING GUIDELINES – PART 3Larry Nung
![Page 2: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/2.jpg)
AGENDANumeric Data TypesCharacter Data TypesBoolean Data TypesLarge ObjectsReferenceQ & A
2
![Page 3: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/3.jpg)
VARIABLES & TYPESNumeric Data Types
![Page 4: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/4.jpg)
18. AVOID DECLARING NUMBER VARIABLES OR SUBTYPES WITH NO
PRECISION.
![Page 5: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/5.jpg)
BADDECLARE v_number number; BEGIN ... END;
![Page 6: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/6.jpg)
GOODDECLARE v_number number(9, 2); BEGIN ... END;
![Page 7: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/7.jpg)
19. TRY TO USE PLS_INTEGER INSTEAD OF NUMBER FOR ARITHMETIC OPERATIONS WITH INTEGER VALUES (NO DECIMAL POINT).
![Page 8: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/8.jpg)
VARIABLES & TYPESCharacter Data Types
![Page 9: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/9.jpg)
20. AVOID USING CHAR DATA TYPE.
![Page 10: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/10.jpg)
BADDECLARE v_str char(4000) := 'test'; BEGIN DBMS_OUTPUT.PUT_LINE(Length(v_str)); END;
![Page 11: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/11.jpg)
GOODDECLARE v_str varchar2(4000) := 'test'; BEGIN DBMS_OUTPUT.PUT_LINE(Length(v_str)); END;
![Page 12: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/12.jpg)
21. AVOID USING VARCHAR DATA TYPE.
![Page 13: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/13.jpg)
BADDECLARE v_str varchar(4000);BEGIN …END;
![Page 14: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/14.jpg)
GOODDECLARE v_str varchar2(4000); BEGIN …END;
![Page 15: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/15.jpg)
22. NEVER USE ZERO-LENGTH STRINGS TO SUBSTITUTE NULL.
![Page 16: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/16.jpg)
BADDECLARE v_str varchar2(4000) := ''; BEGIN DBMS_OUTPUT.PUT_LINE(CASE WHEN v_str
is null THEN 'null' ELSE 'not null' END); END;
![Page 17: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/17.jpg)
GOODDECLARE v_str varchar2(4000); BEGIN DBMS_OUTPUT.PUT_LINE(CASE WHEN v_str
is null THEN 'null' ELSE 'not null' END); END;
![Page 18: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/18.jpg)
23. ALWAYS DEFINE YOUR VARCHAR2 VARIABLES USING CHAR SEMANTIC.
![Page 19: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/19.jpg)
BADDECLARE v_str varchar(200); BEGIN ... END;
![Page 20: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/20.jpg)
GOODDECLARE v_str varchar(200 char); BEGIN ... END;
![Page 21: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/21.jpg)
VARIABLES & TYPESBoolean Data Types
![Page 22: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/22.jpg)
24. TRY TO USE BOOLEAN DATA TYPE FOR VALUES WITH DUAL MEANING.
![Page 23: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/23.jpg)
BADDECLARE v_IsBigger number(1) := 1; BEGIN DBMS_OUTPUT.PUT_LINE(CASE WHEN
v_IsBigger = 1 THEN 'True' ELSE 'False' END);
END;
![Page 24: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/24.jpg)
GOODDECLARE v_IsBigger BOOLEAN := true; BEGIN DBMS_OUTPUT.PUT_LINE(CASE WHEN
v_IsBigger THEN 'True' ELSE 'False' END); END;
![Page 25: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/25.jpg)
VARIABLES & TYPESLarge Objects
![Page 26: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/26.jpg)
25. AVOID USING THE LONG AND LONG RAW DATA TYPES.
![Page 27: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/27.jpg)
REFERENCE27
![Page 28: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/28.jpg)
REFERENCE Trivadis PL/SQL & SQL Coding Guidelines
Version 2.0 http://www.trivadis.com/sites/default/files/downlo
ads/PLSQL_and_SQL_Coding_Guidelines_2_0_HiRes.pdf
28
![Page 29: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/29.jpg)
Q&A29
![Page 30: PL/SQL Coding Guidelines - Part 3](https://reader035.vdocument.in/reader035/viewer/2022081605/588226ac1a28ab52368b51cb/html5/thumbnails/30.jpg)
QUESTION & ANSWER
30