Oracle Database: PL/SQL Fundamentals Course Outline
General Description
This course introduces one to Oracle database programming using the PL/SQL programming language. One will learn the syntax, structure and features of the language. This textbook will also lay the foundation for the entire Sideris Oracle PL/SQL programming series, allowing one to progress from introductory topics to advanced application design and programming and finally onto writing complex high-performance applications.
PL/SQL may be considered as one of the basic skill sets required for any Oracle professional, nearly as important as the SQL language itself.
This course will also continue on to show those who are now ready to employ the language in the development of database applications. In particular, the focus of this course will be on the use of database-resident stored program units such as procedures, functions, packages and database triggers. New features introduced with the Oracle 12c release of the database are also explained and demonstrated.
+++++++++ NOTE ++++++++++
This course content is applicable to versions 12c, 18c, and 19c.
Target Audience
The target audience for this textbook is all Oracle professionals. Among the specific groups for whom this textbook will be helpful are:
• Application designers and database developers
• Database administrators
• Web server administrators
Prerequisites
Oracle Database 12c: SQL Fundamentals
Certification
This course considers subjects applicable to certification as both an Oracle PL/SQL Developer Certified Associate (OCA) and an Oracle Advanced PL/SQL Developer Certified Professional (OCP). The topics considered are included within "Exam 1Z0-144: Program With PL/SQL".
Objectives
This course begins with an explanation of the intent and usage of the PL/SQL programming language for database applications. Important reasons why one should incorporate PL/SQL modules within the application architecture right from the initial design and planning phase are presented. Next one learns how to begin building executable PL/SQL program units. One learns about each of the major segments of a working program and how these interact with each other during program execution, including the important error or exception handling capabilities of the language. The final section goes beyond the basics and begins to explore advanced topics that will be useful later in the Sideris Oracle PL/SQL developer textbook series. One learns techniques and features that allow modular and reusable programs to be developed, increasing productivity and maintainability of database applications.
In addition, this course explains how database-resident program units can be used as part of the overall database application architecture and the benefits realized by doing so. It then builds upon one's knowledge of database-resident program units and applies these to the development of PL/SQL packages. In a production environment most PL/SQL program units should be packaged, and these advanced database programming capabilities along with the benefits of using these are discussed. It concludes with extensive demonstrations on how a particular type of database-resident program unit known as a database trigger can be used as part of an advanced database application design.
COURSE OUTLINE
SELECTION & SETUP OF THE DATABASE INTERFACE
• CONSIDERING AVAILABLE TOOLS
• SELECTING THE APPROPRIATE TOOL
• ORACLE NET DATABASE CONNECTIONS
• ORACLE PAAS DATABASE CONNECTIONS
• SETUP SQL DEVELOPER
• SETUP SQL*PLUS
• SETUP JDEVELOPER
ABOUT BIND & SUBSTITUTION VARIABLES
• USING SQL DEVELOPER
• USING SQL*PLUS
CHOOSING A DATABASE PROGRAMMING LANGUAGE
• WHAT IS DATABASE PROGRAMMING?
• PL/SQL PERFORMANCE ADVANTAGES
• INTEGRATION WITH OTHER LANGUAGES
PL/SQL LANGUAGE FUNDAMENTALS
• PL/SQL PROGRAM STRUCTURE
• LANGUAGE SYNTAX RULES
• EMBEDDING SQL
• WRITING READABLE CODE
• GENERATING DATABASE OUTPUT
• SQL*PLUS INPUT OF A PROGRAM BLOCK
DECLARE SECTION
• ABOUT THE DECLARE SECTION
• DECLARE PRIMITIVE TYPES
• DECLARATION OPTIONS
• NOT NULL
• CONSTANT
• DATA DICTIONARY INTEGRATION
• %TYPE
• DECLARE SIMPLE USER-DEFINED TYPES
• TYPE ... TABLE
• TYPE ... RECORD
• EXTENDED USER-DEFINED TYPES
BEGIN SECTION
• ABOUT THE BEGIN SECTION
• MANIPULATING PROGRAM DATA
• LOGIC CONTROL & BRANCHING
• GOTO
• LOOP
• IF-THEN-ELSE
• CASE
EXCEPTION SECTION
• ABOUT THE EXCEPTION SECTION
• ISOLATING THE SPECIFIC EXCEPTION
• PRAGMA EXCEPTION_INIT
• SQLCODE & SQLERRM Example
• SQL%ROWCOUNT & SELECT...INTO
BEYOND THE BASICS: EXPLICIT CURSORS
• ABOUT EXPLICIT CURSORS
• EXTENDED CURSOR TECHNIQUES
• FOR UPDATE OF Clause
• WHERE CURRENT OF Clause
• Using FOR…LOOP Cursors
INTRODUCING DATABASE-RESIDENT PROGRAM UNITS
• ABOUT DATABASE-RESIDENT PROGRAMS
• PHYSICAL STORAGE & EXECUTION
• TYPES OF STORED PROGRAM UNITS
• STORED PROGRAM UNIT ADVANTAGES
• MODULAR DESIGN PRINCIPLES
CREATING STORED PROCEDURES & FUNCTIONS
• STORED PROCEDURES & FUNCTIONS
• CREATE PROCEDURE / CREATE FUNCTION
• CREATING PROCEDURES & FUNCTIONS
• RAISE_SALARY() Procedure
• SALARY_VALID() Function
• THE PARAMETER SPECIFICATION
• DEFAULT Clause
• SYSTEM & OBJECT PRIVILEGES
• USING THE DEVELOPMENT TOOLS
EXECUTING STORED PROCEDURES & FUNCTIONS
• CALLING PROCEDURES & FUNCTIONS
• UNIT TESTING WITH EXECUTE
• ANONYMOUS BLOCK UNIT TESTING
• SPECIFYING A PARAMETER NOTATION
• SQL WORKSHEET UNIT TESTING
• CALLING FUNCTIONS FROM SQL
MAINTAINING STORED PROGRAM UNITS
• RECOMPILING PROGRAMS
• Mass Recompilation Using UTL_RECOMP()
• DROPPING PROCEDURES & FUNCTIONS
• DROP PROCEDURE / FUNCTION
• DATA DICTIONARY METADATA
• Using USER_OBJECTS
• Using USER_SOURCE
• Using USER_ERRORS
• Using USER_OBJECT_SIZE
• Using USER_DEPENDENCIES
MANAGING DEPENDENCIES
• DEPENDENCY INTERNALS
• TRACKING DEPENDENCIES
• THE DEPENDENCY TRACKING UTILITY
• SQL DEVELOPER DEPENDENCY INFO
• DEPENDENCY STRATEGY CHECKLISTS
CREATING & MAINTAINING PACKAGES
• ABOUT PACKAGES
• CREATING PACKAGES
• MAINTAINING PACKAGES
• PERFORMANCE CONSIDERATIONS
ADVANCED PACKAGE CAPABILITIES
• DEFINER & INVOKER RIGHTS
• WHITE LISTS & ACCESSIBLE BY
• PERSISTENT GLOBAL OBJECTS
• DEFINING INITIALIZATION LOGIC
• OBJECT ORIENTATION SUPPORT
ADVANCED CURSOR TECHNIQUES
• USING CURSOR VARIABLES
• Using SYS_REFCURSOR
• USING CURSOR EXPRESSIONS
USING SYSTEM-SUPPLIED PACKAGES
• DBMS_OUTPUT()
• UTL_FILE()
• FOPEN() Example
DATABASE TRIGGER CONCEPTS
• ABOUT DATABASE TRIGGERS
• DML EVENT TRIGGER SUB-TYPES
• DATABASE TRIGGER SCENARIO
• TRIGGER EXECUTION MECHANISMS
• TRIGGERS WITHIN SQL WORKSHEET
CREATING DATABASE TRIGGERS
• STATEMENT-LEVEL TRIGGERS
• Using RAISE_APPLICATION_ERROR()
• ROW-LEVEL TRIGGERS
• EXAMPLES OF TRIGGERS
• EMPLOYEE_SALARY_CHECK Example
• EMPLOYEE_JOURNAL Example
• BUDGET_EVENT Example
• INSTEAD OF TRIGGERS
• TRIGGERS WITHIN AN APPLICATION
MAINTAINING DATABASE TRIGGERS
• CALL SYNTAX
• TRIGGER MAINTENANCE TASKS
• SHOW ERRORS TRIGGER
• DROP TRIGGER
• ALTER TRIGGER
• MULTIPLE TRIGGERS FOR A TABLE
• HANDLING MUTATING TABLE ISSUES
IMPLEMENTING SYSTEM EVENT TRIGGERS
• WHAT ARE SYSTEM EVENT TRIGGERS?
• DEFINING THE SCOPE
• AVAILABLE SYSTEM EVENTS
• SYSTEM EVENT ATTRIBUTES
© 2014 Sideris Courseware Corporation
View outline in Word
OSP12C