1 – 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
2 – ABOUT BIND & SUBSTITUTION VARIABLES
- Using SQL Developer
- Using SQL*Plus
3 – CHOOSING A DATABASE PROGRAMMING LANGUAGE
- What is Database Programming?
- PL/SQL Performance Advantages
- Integration with Other Languages
4 – 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
5 – 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
6 – BEGIN SECTION
- About the Begin Section
- Manipulating Program Data
- Logic Control & Branching
- GOTO
- LOOP
- IF-THEN-ELSE
- CASE
7 – EXCEPTION SECTION
- ABOUT THE EXCEPTION SECTION
- ISOLATING THE SPECIFIC EXCEPTION
- PRAGMA EXCEPTION_INIT
- SQLCODE &SQLERRM Example
- SQL%ROWCOUNT &SELECT…INTO
8 – BEYOND THE BASICS: EXPLICIT CURSORS
- ABOUT EXPLICIT CURSORS
- EXTENDED CURSOR TECHNIQUES
- FOR UPDATE OF Clause
- WHERE CURRENT OF Clause
- Using FOR…LOOP Cursors
9 – BEYOND THE BASICS: NESTED BLOCKS
10 – BEYOND THE BASICS: DECLARED SUBPROGRAMS
- USING DECLARED SUBPROGRAMS
- DECLARED PROCEDURE
- DECLARED FUNCTION
11 – INTRODUCING DATABASE-RESIDENT PROGRAM UNITS
- ABOUT DATABASE-RESIDENT PROGRAMS
- PHYSICAL STORAGE & EXECUTION
- TYPES OF STORED PROGRAM UNITS
- STORED PROGRAM UNIT ADVANTAGES
- MODULAR DESIGN PRINCIPLES
12 – 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
13 – 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
14 – 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
15 – MANAGING DEPENDENCIES
- DEPENDENCY INTERNALS
- TRACKING DEPENDENCIES
- THE DEPENDENCY TRACKING UTILITY
- SQL DEVELOPER DEPENDENCY INFO
- DEPENDENCY STRATEGY CHECKLISTS
16 – CREATING & MAINTAINING PACKAGES
- ABOUT PACKAGES
- CREATING PACKAGES
- MAINTAINING PACKAGES
- PERFORMANCE CONSIDERATIONS
17 – ADVANCED PACKAGE CAPABILITIES
- DEFINER & INVOKER RIGHTS
- WHITE LITS & ACCESSIBLE BY
- PERSISTENT GLOBAL OBJECTS
- DEFINING INITIALIZATION LOGIC
- OBJECT ORIENTATION SUPPORT
18 – ADVANCED CURSOR TECHNIQUES
- USING CUSROS VARIABLES
- USING SYS_REFCURSOR
- USING CURSOR EXPRESSIONS
19 – USING SYSTEM-SUPPLIED PACKAGE
- DBMS_OUTPUT()
- UTL_FILE()
- FOPEN() EXAMPLE
20 – DATABASE TRIGGER CONCEPTS
- ABOUT DATABASE TRIGGERS
- DML EVENT TRIGGER SUB-TYPES
- DATABASE TRIGGER SCENARIO
- TRIGGER EXECUTION MECHANISMS
- TRIGGERS WITHIN SQL WORKSHEET
21 – 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
22 – MAINTAINING DATABASE TRIGGERS
- CALL SYNTAX
- TRIGGER MAINTENANCE TASKS
- SHOW ERRORS TRIGGER
- DROP TRIGGER
- ALTER TRIGGER
- MULTIPLE TRIGGERS FOR A TABLE
- HANDLING MUTATING TABLE ISSUES
23 – IMPLEMENTING SYSTEM EVENT TRIGGERS
- WHAT ARE SYSTEM EVENT TRIGGERS?
- DEFINING THE SCOPE
- AVAILABLE SYSTEM EVENTS
- SYSTEM EVENT ATTRIBUTES