Oracle Training Overview
This course provides a complete, hands-on,comprehensive introduction to PL/SQL including the use of both SQL Developer and SQL*Plus. This coverage is appropriate for both Oracle11g and higher.
Oracle Training AudiencePL/SQL VS. SQL
PL/SQL ENGINES AVAILABLE
ANONYMOUS PL/SQL BLOCK STRUCTURE
OBJECT NAMING RULES
VARIABLE DECLARATIONS
AVAILABLE DATATYPES
EXECUTABLE STATEMENTS
EXPRESSIONS
PL/SQL QUALIFIED EXPRESSIONS
BLOCK LABELING
VARIABLE SCOPING RULES
COMMENTS IN PROGRAMS AND SCRIPTS
BASIC CODING STANDARDS
LAB 1: PL/SQL PROGRAM STRUCTURE
LAB 1 SOLUTIONS: PL/SQL PROGRAM STRUCTURE
CHAPTER 2 – PL/SQL FLOW CONTROLCONDITIONAL CONTROL
COMPARISON OPERATORS
LOGICAL OPERATORS
REPETITION CONTROL
THE GOTO STATEMENT
CASE EXPRESSIONS / STATEMENTS
BIND VARIABLES
SUBSTITUTION VARIABLES
LAB 2: PL/SQL FLOW CONTROL
LAB 2 SOLUTIONS: PL/SQL FLOW CONTROL
CHAPTER 3 – SQL DEVELOPER AND PL/SQLSQL DEVELOPER AND PL/SQL
CREATING AND EXECUTING SCRIPTS
LAB 3: SQL DEVELOPER AND PL/SQL
LAB 3 SOLUTIONS: SQL DEVELOPER AND PL/SQL
CHAPTER 4 – SELECT INTOSELECTING SINGLE ROWS OF DATA
ANCHORING VARIABLES TO DATATYPES
DML IN PL/SQL
RETURNING … INTO
SEQUENCES IN PL/SQL
TRANSACTION CONTROL IN PL/SQL
AUTONOMOUS TRANSACTIONS
LAB 4: SELECT INTO
LAB 4 SOLUTIONS: SELECT INTO
CHAPTER 5 – THE PL/SQL CURSORDECLARING EXPLICIT CURSORS
OPENING AND CLOSING EXPLICIT CURSORS
USING EXPLICIT CURSORS TO RETRIEVE VALUES
EXPLICIT CURSOR ATTRIBUTES
USING A LOOP WITH AN EXPLICIT CURSOR
USING %ROWTYPE WITH CURSORS
THE CURSOR FOR LOOP
DBMS_OUTPUT
LAB 5: THE PL/SQL CURSOR
LAB 5 SOLUTIONS: THE PL/SQL CURSOR
CHAPTER 6 – OPTIMIZATION
TIMING PL/SQL
FOR UPDATE / WHERE CURRENT OF
LAB 6: OPTIMIZATION
LAB 6 SOLUTIONS: OPTIMIZATION
CHAPTER 7 – PL/SQL EXCEPTION HANDLINGTHE EXCEPTION SECTION
ORACLE NAMED EXCEPTIONS
PRAGMA EXCEPTION_INIT
USER DEFINED EXCEPTIONS
RAISING NAMED EXCEPTIONS
EXCEPTION PROPAGATION
RAISING AN EXCEPTION AGAIN
LIFE AFTER AN EXCEPTION
WHEN OTHERS
TAKING YOUR BALL AND GOING HOME
DBMS_ERRLOG
LAB 7: PL/SQL EXCEPTION HANDLING
LAB 7 SOLUTIONS: PL/SQL EXCEPTION HANDLING
CHAPTER 8 – STORED PROCEDURESPROCEDURES
BENEFITS OF STORED PROCEDURES
PARAMETERS AND STORED PROCEDURES
STORED OBJECT CREATION
COMPILATION ERRORS
VIEWING COMPILED CODE
DROPPING A PROCEDURE
THE ALTER COMMAND AND STORED PROCEDURES
LAB 8: STORED PROCEDURES
LAB 8 SOLUTIONS: STORED PROCEDURES
CHAPTER 9 – CREATING FUNCTIONS IN PL/SQLFUNCTIONS
PURITY LEVELS
USING WHITE LISTS
OPTIMIZATIONS
PARALLEL_ENABLE
DETERMINISTIC FUNCTIONS
PL/SQL RESULT CACHE
NOCOPY
DBMS_OUTPUT IN FUNCTIONS
USING THE WITH CLAUSE FOR FUNCTIONS
PRAGMA UDF
PRAGMA INLINE
THE IMPACT OF DATA-BOUND COLLATION
USING SQL DEVELOPER WITH STORED PROCEDURES
DEBUGGING
LAB 9: FUNCTIONS
LAB 9 SOLUTIONS: FUNCTIONS
CHAPTER 10 – PACKAGESCREATING PACKAGES
PACKAGE BENEFITS
A SIMPLE PACKAGE
OVERLOADING
BODILESS PACKAGES
SOURCE CODE ENCRYPTION
CREATING PACKAGES FROM PROCEDURES AND FUNCTIONS
LAB 10: PACKAGES
LAB 10 SOLUTIONS: PACKAGES
CHAPTER 11 -- CREATING DML TRIGGERSDML TRIGGERS
DML TRIGGER STRUCTURE
CONDITIONAL TRIGGERING PREDICATES
TRIGGERS FOR BUSINESS RULES ENFORCEMENT
MUTATING AND CONSTRAINING TABLES
COMPOUND TRIGGERS
CONTROLLING FIRING ORDER
DDL FOR TRIGGERS
VIEWING TRIGGER SOURCE
INSTEAD OF TRIGGERS
LAB 11: DML TRIGGERS
LAB 11 SOLUTIONS: DML TRIGGERS
CHAPTER 12 – ADVANCED CONCEPTSEMBEDDED PROCEDURES
THE OPTIMIZING COMPILER
PL/SQL COMPILER WARNINGS
COMPILING FOR DEBUGGING
CONDITIONAL COMPILATION / INQUIRY DIRECTIVES
DBMS_DB_VERSION
NATIVE COMPILATION
LAB 12: ADVANCED CONCEPTS
LAB 12 SOLUTIONS: ADVANCED CONCEPTS
CHAPTER 13 – FILE OPERATIONSMOVING FILES BETWEEN DATABASES
DIRECTORY ACCESS
FILE MANIPULATION
LAB 13: FILE OPERATIONS
LAB 13 SOLUTIONS: FILE OPERATIONS
CHAPTER 14 – COMMUNICATIONSDBMS_ALERT
DBMS_PIPE
UTL_SMTP
UTL_HTTP
UTL_TCP
UTL_MAIL
DBMS_NETWORK_ACL_ADMIN
LAB 14: COMMUNICATIONS
LAB 14 SOLUTIONS: COMMUNICATIONS
CHAPTER 15 – SECURITYDBMS_RLS
DBMS_FGA
CONTROLLING COLUMN ACCESS WITH VIRTUAL COLUMNS
LAB 15: SECURITY
LAB 15 SOLUTIONS: SECURITY
CHAPTER 16 -- SCHEDULINGORACLE SCHEDULING
DBMS_JOB
DBMS_SCHEDULER
LAB 16: SCHEDULING
LAB 16 SOLUTIONS: SCHEDULING
CHAPTER 17 – MISCELLANEOUS PACKAGESDBMS_OUTPUT
DBMS_RANDOM
DBMS_STATS
DBMS_WM
DBMS_METADATA
DBMS_REDEFINITION
OTHER NOTABLE PACKAGES / PROCEDURES
MISCELLANEOUS CHANGES IN 12CR2
LAB 17: MISCELLANEOUS PACKAGES
LAB 17 SOLUTIONS: MISCELLANEOUS PACKAGES
CHAPTER 18 – DATABASE TRIGGERSPERMISSIONS NEEDED
DDL TRIGGERS
SERVERERROR TRIGGERS
LOGON / LOGOFF TRIGGERS
STARTUP / SHUTDOWN TRIGGERS
SUSPEND TRIGGERS
LAB 18: DATABASE TRIGGERS
LAB 18 SOLUTIONS: DATABASE TRIGGERS
CHAPTER 19 – COLLECTIONSDEFINING RECORDS
COLLECTIONS
COLLECTION METHODS
SET THEORY AND NESTED TABLES
LAB 19: COLLECTIONS
LAB 19 SOLUTIONS: COLLECTIONS
CHAPTER 20 – BULK OPERATIONSBULK BINDING
FORALL
SQL%BULK_ROWCOUNT
SAVE EXCEPTIONS / SQL%BULK_EXCEPTIONS
BULK COLLECT
PIPELINED TABLE FUNCTIONS
MULTIDIMENSIONAL COLLECTIONS
LAB 20: BULK OPERATIONS
LAB 20 SOLUTIONS: BULK OPERATIONS
CHAPTER 21 – CURSOR VARIABLESWHAT IS A CURSOR VARIABLE?
CURSOR VARIABLE CONTROL
OPEN FOR
FETCH
CLOSE
CURSOR VARIABLE EXAMPLES
ROWTYPE_MISMATCH
LAB 21: CURSOR VARIABLES
LAB 21 SOLUTIONS: CURSOR VARIABLES
CHAPTER 22 – DYNAMIC SQLSTANDARD DYNAMIC SQL
NEW DBMS_SQL FUNCTIONALITY
NATIVE DYNAMIC SQL (NDS)
EXECUTE IMMEDIATE
BULK EXECUTE IMMEDIATE
SQL INJECTION ATTACKS
SWITCHING BETWEEN NDS AND DBMS_SQL
LAB 22: DYNAMIC SQL
LAB 22 SOLUTIONS: DYNAMIC SQL
CHAPTER 23 – LARGE OBJECTSEXTERNAL VS. INTERNAL LARGE OBJECTS
INITIALIZING INTERNAL LOB LOCATORS
THE DBMS_LOB PACKAGE
INSERTING INTERNAL LARGE OBJECTS
LOADING ERRORS
THE SECUREFILE OPTION
LAB 23: LARGE OBJECTS
LAB 23 SOLUTIONS: LARGE OBJECTS
CHAPTER 24 – OBJECT-ORIENTED PROGRAMMINGORACLE OBJECTS
ORDERING OBJECT TYPES
OBJECT TABLES
SQL FOR OBJECT TABLES
ADVANCED OBJECT CONCEPTS
LAB 24: OBJECT-ORIENTED PROGRAMMING
LAB 24 SOLUTIONS: OBJECT-ORIENTED PROGRAMMING
CHAPTER 25 – JAVA AND OTHER LANGUAGESALTERNATIVE LANGUAGES
LOADING CODE
PUBLISHING CODE
EXECUTING THE CODE
INTERFACING WITH C
JSON SUPPORT
SODA
ENHANCED LANGUAGE INTERFACE FEATURES