Benefiting from over 30 years’ practical skills training experience, Fitzwilliam Institute’s Online Postgraduate Diploma in Oracle Programming course features:
Installing the Oracle Database Server and Other Software
Installing Oracle, Installing Oracle SQL Developer, Configuring Oracle, Logging on, Creating a Database, Running and SQL Script.
Using Oracle SQL Developer, SQL Plus and iSQL Plus
SQL and iSQL*Plus Interaction, SQL Statements versus iSQL*Plus Commands, Overview of iSQL*Plus, Logging In to iSQL*Plus, The iSQL*Plus Environment, Displaying Table Structure, Interacting with Script Files;
Writing Basic SQL SELECT Statements
Capabilities of SQL SELECT Statements, Basic SELECT Statement, Selecting All Columns, Selecting Specific Columns, Writing SQL Statements, Column Heading Defaults, Arithmetic Expressions, Using Arithmetic Operators, Operator Precedence, Using Parentheses, Defining a Null Value, Null Values in Arithmetic Expressions, Defining a Column Alias, Using Column Aliases, Concatenation Operator, Using the Concatenation Operator, Literal Character Strings, Using Literal Character Strings, Duplicate Rows, Eliminating Duplicate Rows;
Restricting and Sorting Data;
Limiting Rows Using a Selection, Limiting the Rows Selected, Using the WHERE Clause, Character Strings and Dates, Comparison Conditions, Using Comparison Conditions, Other Comparison Conditions, Using the BETWEEN Condition, Using the IN Condition, Using the LIKE Condition, Using the NULL Conditions, Logical Conditions, Using the AND Operator, Using the OR Operator, Using the NOT Operator, Rules of Precedence, ORDER BY Clause, Sorting in Descending Order, Sorting by Column Alias, Sorting by Multiple Columns
Single-Row Functions
SQL Functions, Two Types of SQL Functions, Single-Row Functions, Character Functions, Case Manipulation Functions, Using Case Manipulation Functions, Character-Manipulation Functions, Using the Character-Manipulation Functions, Number Functions, Using the ROUND Function, Using the TRUNC Function, Using the MOD Function, Working with Dates, Arithmetic with Dates, Using Arithmetic Operators with Dates, Date Functions, Using Date Functions, Overview, Conversion Functions, Implicit Data-Type Conversion, Explicit Data-Type Conversion, Using the TO_CHAR Function with Dates, Elements of the Date Format Model, Using the TO_CHAR Function with Dates, Using the TO_CHAR Function with Numbers, Using the TO_NUMBER and TO_DATE Functions, RR Date Format, Example of RR Date Format, Nesting Functions, General Functions, NVL Function, Using the NVL Function, Using the NVL2 Function, Using the NULLIF Function, Using the COALESCE Function, Conditional Expressions, The CASE Expression, Using the CASE Expression, The DECODE Function, Using the DECODE Function;
Displaying Data from Multiple Tables
Obtaining Data from Multiple Tables, Cartesian Products, Generating a Cartesian Product, Types of Joins, Joining Tables Using Oracle Syntax, What Is an Equijoin?, Retrieving Records with Equijoins, Additional Search Conditions Using the AND Operator, Qualifying Ambiguous Column Names, Using Table Aliases, Joining More than Two Tables, Nonequijoins, Retrieving Records with Nonequijoins, Outer Joins, Outer Joins Syntax, Using Outer Joins, Self Joins, Joining a Table to Itself, Joining Tables Using SQL: 1999 Syntax, Creating Cross Joins, Creating Natural Joins, Retrieving Records with Natural Joins, Creating Joins with the USING Clause, Retrieving Records with the USING Clause, Creating Joins with the ON Clause, Retrieving Records with the ON Clause, Creating Three-Way Joins with the ON Clause, INNER versus OUTER Joins, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN;
Aggregating Data Using Group Functions
What Are Group Functions? Types of Group Functions, Group Functions Syntax, Using the AVG and SUM Functions, Using the MIN and MAX Functions, Using the COUNT Function, Using the DISTINCT Keyword, Group Functions and Null Values, Using the NVL Function with Group Functions, Creating Groups of Data, Creating Groups of Data: GROUP BY Clause Syntax, Using the GROUP BY Clause, Grouping by More Than One Column, Using the GROUP BY Clause on Multiple Columns, Illegal Queries Using Group Functions, Excluding Group Results, Excluding Group Results: The HAVING Clause, Using the HAVING Clause, Nesting Group Functions;
Subqueries
Using a Subquery to Solve a Problem, Subquery Syntax, Using a Subquery, Guidelines for Using Subqueries, Types of Subqueries, Single-Row Subqueries, Executing Single-Row Subqueries, Using Group Functions in a Subquery, The HAVING Clause with Subqueries, What Is Wrong with This Statement?, Will This Statement Return Rows? Multiple-Row Subqueries, Using the ANY Operator in Multiple-Row Subqueries, Using the ALL Operator in Multiple-Row Subqueries, Null Values in a Subquery;
Producing Readable Output with iSQL*Plus and SQL Plus
Substitution Variables, Using the & Substitution Variable, Character and Date Values with Substitution Variables, Specifying Column Names, Expressions, and Text, Defining Substitution Variables, DEFINE and UNDEFINE Commands, Using the DEFINE Command with & Substitution Variable, Using the VERIFY Command, Customizing the iSQL*Plus Environment, SET Command Variables, iSQL*Plus Format Commands, The COLUMN Command, Using the COLUMN Command, COLUMN Format Models, Using the BREAK Command, Using the TTITLE and BTITLE Commands, Creating a Script File to Run a Report;
Manipulating Data
Data Manipulation Language, Adding a New Row to a Table, The INSERT Statement Syntax, Inserting New Rows, Inserting Rows with Null Values, Inserting Special Values, Inserting Specific Date Values, Creating a Script, Copying Rows from Another Table, Changing Data in a Table, The UPDATE Statement Syntax, Updating Rows in a Table, Updating Two Columns with a Subquery, Updating Rows Based on Another Table, Updating Rows: Integrity Constraint Error, Removing a Row from a Table, The DELETE Statement, Deleting Rows from a Table, Deleting Rows Based on Another Table, Deleting Rows: Integrity Constraint Error, Using a Subquery in an INSERT Statement, Using the WITH CHECK OPTION Keyword on DML Statements, Overview of the Explict Default Feature, Using Explicit Default Values, The MERGE Statement, MERGE Statement Syntax, Merging Rows, Database Transactions, Advantages of COMMIT and ROLLBACK Statements, Controlling Transactions, Rolling Back Changes to a Marker, Implicit Transaction Processing, State of the Data Before COMMIT or ROLLBACK, State of the Data After COMMIT, Committing Data, State of the Data After ROLLBACK, Statement-Level Rollback, Read Consistency, Implementation of Read Consistency, Locking, Implicit Locking;
Creating and Managing Tables
Database Objects, Naming Rules, The CREATE TABLE Statement, Referencing Another Userís Tables, The DEFAULT Option, Creating Tables, Tables in the Oracle Database, Querying the Data Dictionary, Data Types, Datetime Data Types, TIMESTAMP WITH TIME ZONE Data Type, TIMESTAMP WITH LOCAL TIME Data Type, INTERVAL YEAR TO MONTH Data Type, Creating a Table by Using a Subquery Syntax, Creating a Table by Using a Subquery, The ALTER TABLE Statement, Adding a Column, Modifying a Column, Dropping a Column, The SET UNUSED Option, Dropping a Table, Changing the Name of an Object, Truncating a Table, Adding Comments to a Table;
Including Constraints
What Are Constraints?, Constraint Guidelines, Defining Constraints, The NOT NULL Constraint, The UNIQUE Constraint, The PRIMARY KEY Constraint, The FOREIGN KEY Constraint, FOREIGN KEY Constraint Keywords, The CHECK Constraint, Adding a Constraint Syntax, Adding a Constraint, Dropping a Constraint, Disabling Constraints, Enabling Constraints, Cascading Constraints, Viewing Constraints, Viewing the Columns Associated with Constraints;
Creating Views
Database Objects, What Is a View?, Why Use Views?, Simple Views and Complex Views, Creating a View, Retrieving Data from a View, Querying a View, Modifying a View, Creating a Complex View, Rules for Performing DML Operations on a View, Using the WITH CHECK OPTION Clause, Denying DML Operations, Removing a View, Inline Views, Top-n Analysis, Performing Top-n Analysis, Example of Top-n Analysis;
Other Database Objects
Database Objects, What Is a Sequence?, The CREATE SEQUENCE Statement Syntax, Creating a Sequence, Confirming Sequences, NEXTVAL and CURRVAL Pseudocolumns, Using a Sequence, Modifying a Sequence, Guidelines for Modifying a Sequence, Removing a Sequence, What Is an Index?, How Are Indexes Created?, Creating an Index, When to Create an Index, When Not to Create an Index, Confirming Indexes, Function-Based Indexes, Removing an Index, Synonyms, Creating and Removing Synonyms;
Controlling User Access
Controlling User Access, Privileges, System Privileges, Creating Users, User System Privileges, Granting System Privileges, What Is a Role?, Creating and Granting Privileges to a Role, Changing Your Password, Object Privileges, Granting Object Privileges, Using the WITH GRANT OPTION and PUBLIC Keywords, Confirming Privileges Granted, How to Revoke Object Privileges, Revoking Object Privileges, Database Links;
Using SET Operators
The SET Operators, Tables Used in This Lesson, The UNION SET Operator, Using the UNION Operator, The UNION ALL Operator, Using the UNION ALL Operator, The INTERSECT Operator, Using the INTERSECT Operator, The MINUS Operator, SET Operator Guidelines, The Oracle Server and SET Operators, Matching the SELECT Statements, Controlling the Order of Rows;
Oracle Datetime Functions
TIME ZONES, Oracle Datetime Support, CURRENT_DATE, CURRENT_TIMESTAMP, LOCALTIMESTAMP, DBTIMEZONE and SESSIONTIMEZONE;
Enhancements to the GROUP BY Clause
GROUP BY with ROLLUP and CUBE Operators, ROLLUP Operator,ROLLUP Operator Example, CUBE Operator, CUBE Operator: Example,GROUPING Function, GROUPING Function: Example, GROUPING SETS,GROUPING SETS: Example, Composite Columns,Composite Columns: Example, Concatenated Groupings, Concatenated Groupings Example;
Advanced Subqueries
What Is a Subquery? Subqueries,Using a Subquery, Multiple-Column Subqueries, Column Comparisons, Pairwise Comparison Subquery, Nonpairwise Comparison Subquery, Using a Subquery in the FROM Clause, Scalar Subquery Expressions, Correlated Subqueries, Using Correlated Subqueries, Using the EXISTS Operator, Using the NOT EXISTS Operator, Correlated UPDATE, Correlated DELETE, The WITH Clause, WITH Clause: Example;
Hierarchical Retrieval
Sample Data from the EMPLOYEES Table, Natural Tree Structure, Hierarchical Queries, Walking the Tree, Walking the Tree: From the Bottom Up, Walking the Tree: From the Top Down, Ranking Rows with the LEVEL Pseudocolumn, Formatting Hierarchical Reports Using LEVEL and LPAD, Pruning Branches;
Oracle Extensions to DML and DDL Statements
Review of the INSERT Statement,Review of the UPDATE Statement,Overview of Multitable INSERT Statements, Types of Multitable INSERT Statements,Multitable INSERT Statements,Unconditional INSERT ALL, Conditional INSERT ALL, Conditional FIRST INSERT, Pivoting INSERT, External Tables, Creating an External Table, Example of Creating an External Table, Querying External Tables, CREATE INDEX with CREATE TABLE Statement;
Declaring Variables
Objectives, PL/SQL Block Structure, Executing Statements and PL/SQL Blocks, Block Types, Program Constructs, Use of Variables, Handling Variables in PL/SQL, Types of Variables, Using iSQL*Plus Variables Within PL/SQL Blocks, Types of Variables, Declaring PL/SQL Variables, Guidelines for Declaring PL/SQL Variables, Naming Rules, Variable Initialization and Keywords, Scalar Data Types, Base Scalar Data Types, Scalar Variable Declarations, The %TYPE Attribute, Declaring Variables with the %TYPE Attribute, Declaring Boolean Variables, Composite Data Types, LOB Data Type Variables, Bind Variables, Using Bind Variables, Referencing Non-PL/SQL Variables, DBMS_OUTPUT.PUT_LINE;
Writing Executable Statements
Objectives, PL/SQL Block Syntax and Guidelines, Identifiers, PL/SQL Block Syntax and Guidelines, Commenting Code, SQL Functions in PL/SQL, SQL Functions in PL/SQL: Examples, Data type Conversion, Nested Blocks and Variable Scope, Identifier Scope, Qualify an Identifier, Determining Variable Scope, Operators in PL/SQL, Programming Guidelines, Indenting Code
Interacting with the Oracle Server
SQL Statements in PL/SQL, SELECT Statements in PL/SQL, Retrieving Data in PL/SQL, Naming Conventions, Manipulating Data Using PL/SQL, Inserting Data, Updating Data, Deleting Data, Merging Rows, Naming Conventions, SQL Cursor, SQL Cursor Attributes, Transaction Control Statements;
Writing Control Structures
Objectives, Controlling PL/SQL Flow of Execution, IF Statements, Simple IF Statements, Compound IF Statements, IF-THEN-ELSE Statement Execution Flow, IF-THEN-ELSE Statements, CASE Expressions, CASE Expressions: Example, Handling Nulls, Logic Tables, Boolean Conditions, Iterative Control: LOOP Statements, Basic Loops, WHILE Loops, FOR Loops, Guidelines While Using Loops, Nested Loops and Labels;
Working with Composite Data Types
Objectives, Composite Data Types, PL/SQL Records, Creating a PL/SQL Record, PL/SQL Record Structure, The %ROWTYPE Attribute, Advantages of Using %ROWTYPE, The %ROWTYPE Attribute, INDEX BY Tables, Creating an INDEX by Table, INDEX BY Table Structure, Creating an INDEX BY Table, Using INDEX BY Table Methods, INDEX BY Table of Records, Example of PL/SQL Table of Records;
Writing Explicit Cursors
Objectives, About Cursors, Explicit Cursor Functions, Controlling Explicit Cursors, Declaring the Cursor, Opening the Cursor, Fetching Data from the Cursor, Closing the Cursor, Explicit Cursor Attributes, The %ISOPEN Attribute, Controlling Multiple Fetches, The %NOTFOUND and %ROWCOUNT Attributes, Example, Cursors and Records, Cursor FOR Loops, Cursor FOR Loops Using Subqueries;
Advanced Explicit Cursor Concepts
Objectives, Cursors with Parameters, The FOR UPDATE Clause, The WHERE CURRENT OF Clause, Cursors with Subqueries;
Handling Exceptions
Objectives, Handling Exceptions with PL/SQL, Handling Exceptions, Exception Types, Trapping Exceptions, Trapping Exceptions Guidelines, Trapping Predefined Oracle Server Errors, Predefined Exceptions, Trapping Nonpredefined Oracle Server Errors, Nonpredefined Error, Functions for Trapping Exceptions, Trapping User-Defined Exceptions, User-Defined Exception, Calling Environments, Propagating Exceptions, RAISE_APPLICATION_ERROR Procedure, RAISE_APPLICATION_ERROR;
Creating Procedures
Objectives, PL/SQL Program Constructs, Overview of Subprograms, Block Structure for Anonymous PL/SQL Blocks, Block Structure for PL/SQL Subprograms, PL/SQL Subprograms, Developing Subprograms by Using iSQL*Plus, What Is a Procedure? Syntax for Creating Procedures, Developing Procedures, Formal Versus Actual Parameters, Procedural Parameter Modes, Creating Procedures with Parameters, IN Parameters: Example, OUT Parameters: Example, Viewing OUT Parameters, IN OUT Parameters, Viewing IN OUT Parameters, Methods for Passing Parameters, DEFAULT Option for Parameters, Examples of Passing Parameters, Declaring Subprograms, Invoking a Procedure from an Anonymous PL/SQL Block, Invoking a Procedure from Another Procedure, Handled Exceptions, Unhandled Exceptions, Removing Procedures, Benefits of Subprograms;
Creating Functions
Objectives, Overview of Stored Functions, Syntax for Creating Functions, Creating a Function, Creating a Stored Function by Using iSQL*Plus, Creating a Stored Function by Using iSQL*Plus: Example, Executing Functions, Executing Functions: Example, Advantages of User-Defined Functions in SQL Expressions, Invoking Functions in SQL Expressions: Example, Locations to Call User-Defined Functions, Restrictions on Calling Functions from SQL Expressions, Restrictions on Calling from SQL, Removing Functions, Procedure or Function? Comparing Procedures and Functions, Benefits of Stored Procedures and Functions;
Managing Subprograms
Objectives, Required Privileges, Granting Access to Data, Using Invokerís-Rights, Managing Stored PL/SQL Objects, USER_OBJECTS, List All Procedures and Functions, USER_SOURCE Data Dictionary View, List the Code of Procedures and Functions, USER_ERRORS, Detecting Compilation Errors: Example, List Compilation Errors by Using USER_ERRORS, List Compilation Errors by Using SHOW ERRORS, DESCRIBE in iSQL*Plus, Debugging PL/SQL Program Units;
Creating Packages
Objectives, Overview of Packages, Components of a Package, Referencing Package Objects, Developing a Package, Creating the Package Specification, Declaring Public Constructs, Creating a Package Specification: Example, Creating the Package Body, Public and Private Constructs, Creating a Package Body: Example, Invoking Package Constructs, Declaring a Bodiless Package, Referencing a Public Variable from a Stand-alone Procedure, Removing Packages, Guidelines for Developing Packages, Advantages of Packages;
More Package Concepts
Objectives, Overloading, Overloading: Example, Using Forward Declarations, Creating a One-Time-Only Procedure, Restrictions on Package Functions Used in SQL, User Defined Package: taxes_pack, Invoking a User Defined Package Function from a SQL Statement, Persistent State of Package Variables: Example, Persistent State of Package Variables, Controlling the Persistent State of a Package Cursor, Executing PACK_CUR, PL/SQL Tables and Records in Packages;
Oracle Supplied Packages
Objectives, Using Supplied Packages, Using Native Dynamic SQL, Execution Flow, Using the DBMS_SQL Package, Using DBMS_SQL, Using the EXECUTE IMMEDIATE Statement, Dynamic SQL Using EXECUTE IMMEDIATE, Using the DBMS_DDL Package, Using DBMS_JOB for Scheduling, DBMS_JOB Subprograms, Submitting Jobs, Changing Job Characteristics, Running, Removing, and Breaking Jobs, Viewing Information on Submitted Jobs, Using the DBMS_OUTPUT Package, Interacting with Operating System Files, What Is the UTL_FILE Package? File Processing Using UTL_FILE, UTL_FILE Procedures and Functions, Exceptions Specific to the UTL_FILE Package, The FOPEN and IS_OPEN Functions, Using UTL_FILE, UTL_HTTP Package, Using the UTL_HTTP Package, Using the UTL_TCP Package, Oracle-Supplied Packages;
Manipulating Large Objects
Objectives, What Is a LOB?, Contrasting LONG and LOB Data Types, Anatomy of a LOB, Internal LOBs, Managing Internal LOBs, What Are BFILEs?, Securing BFILEs, A New Database Object: DIRECTORY, Guidelines for Creating DIRECTORY Objects, Managing BFILEs, Preparing to Use BFILEs, The BFILENAME Function, Loading BFILEs, Migrating from LONG to LOB, The DBMS_LOB Package, DBMS_LOB.READ and DBMS_LOB.WRITE, Adding LOB Columns to a Table, Populating LOB Columns, Updating LOBs by Using SQL, Updating LOBs by Using DBMS_LOB in PL/SQL, Selecting CLOB Values by Using SQL, Selecting CLOB Values, Using DBMS_LOB, Selecting CLOB Values in PL/SQL, Removing LOBs, Temporary LOBs, Creating a Temporary LOB;
Creating Database Triggers
Types of Triggers, Guidelines for Designing Triggers, Database Trigger: Example, Creating DML Triggers, DML Trigger Components, Firing Sequence, Syntax for Creating DML Statement Triggers, Creating DML Statement Triggers, Testing SECURE_EMP, Using Conditional Predicates, Creating a DML Row Trigger, Creating DML Row Triggers, Using OLD and NEW Qualifiers, Using OLD and NEW Qualifiers: Example Using Audit_Emp_Table, Restricting a Row Trigger, INSTEAD OF Trigger, Creating an INSTEAD OF Trigger, Differentiating between Database Triggers and Stored Procedures, Differentiating between Database Triggers and Form Builder Triggers, Managing Triggers, DROP TRIGGER Syntax, Trigger Test Cases, Trigger Execution Model and Constraint Checking, Trigger Execution Model and Constraint Checking: Example, A Sample Demonstration for Triggers Using Package Constructs, After Row and After Statement Triggers, Demonstration: VAR_PACK Package Specification, Demonstration: Using the AUDIC_EMP Procedure;
More Trigger Concepts
Objectives, Creating Database Triggers, Creating Triggers on DDL Statements, Creating Triggers on System Events, LOGON and LOGOFF Trigger Example, CALL Statement, Reading Data from a Mutating Table, Mutating Table: Example, Implementing Triggers, Controlling Security within the Server, Controlling Security with a Database Trigger, Using the Server Facility to Audit Data Operations, Auditing by Using a Trigger, Enforcing Data Integrity within the Server, Protecting Data Integrity with a Trigger, Enforcing Referential Integrity within the Server, Protecting Referential Integrity with a Trigger, Replicating a Table within the Server, Replicating a Table with a Trigger, Computing Derived Data within the Server, Computing Derived Values with a Trigger, Logging Events with a Trigger, Benefits of Database Triggers, Managing Triggers, Viewing Trigger Information, Using USER_TRIGGERS, Listing the Code of Triggers, Summary;
Managing Dependencies
Objectives, Understanding Dependencies, Dependencies, Local Dependencies, A Scenario of Local Dependencies, Displaying Direct Dependencies by Using USER_DEPENDENCIES, Displaying Direct and Indirect Dependencies, Displaying Dependencies, Another Scenario of Local Dependencies, A Scenario of Local Naming Dependencies, Understanding Remote Dependencies, Concepts of Remote Dependencies;
Criteria for eligibility must be met in full prior to commencing the programme. For successful enrollment on the Postgraduate Diploma course, the minimum entry requirement is a prior Degree level qualification.
On successful completion of this course you will receive a Professional Postgraduate Diploma qualification that is certified and awarded by the ICM (Institute of Commercial Management).
The Institute of Commercial Management was founded in 1979 and is one of the leading Professional Examination and Certification Bodies in the world today. Fitzwilliam Institute have developed and provided practical skills training courses in liaison with the Institute of Commercial Management qualifications and certifications framework for over 25 years. The Institute of Commercial Management certifications and continual professional development training awards are recognised by leading industries, bodies and professions.
Duration: You will have full access to online resources and subject expert support for two calendar years. However, you can complete the course in as little as 1 year, by dedicating 6-8 hours of study per week.
Course Fees: 1595.00 EUR
To secure your place on the course the full fee is required. All fees must be paid in full before the course begins. Please note, the full course fees are inclusive of all course materials and certification costs.
Enrolment intake is strictly limited on this course. Early application is advised. Places are allocated on a first come first served basis.
We want to make education easy and enjoyable for you. At Fitzwilliam Institute, we offer a range of finance options to suit your needs.
You can buy now and pay later with humm - humm provides a simple application process, simple terms and conditions, up to 36 monthly payments. With low-interest rates.
Fitzwilliam Institute closes on Bank Holidays and for a number of days at Christmas and New Year. Fitzwilliam Institute reserves the right to postpone, cancel or alter courses without notice or to change any of the details in this brochure. Fees are not refundable unless the course is cancelled by Fitzwilliam Institute. Distance Learning courses are provided by Fitzwilliam Institute BGLS Ltd.
Year on year, we have the pleasure of training students from top Ireland and international companies. See where our most recent students come from and find out what they have to say.