Course content of SQL and PL/SQL Session 1: Understanding Oracle SQL Basics 1. The Relational Database Model(RDBMS) Understanding necessity of database What is RDBMS Code rules Oracle back ground What is SQL and PL-SQL and its tools 2. Oracle Database Objects Understanding oracle Database objects and its need Tables/Views/Procedures/Triggers/ SQL Plus Worksheet Formatting outputs 3. SQL Definition What is SQL Types of SQL Data Control Language (DCL) statements Data Definition Language (DDL) statements Data Manipulation Language (DML) statements – Basics Transaction Control (TCL) statements 4. Test on Understanding Oracle SQL Basics & Review Session 2: (8 Hours): Data Manipulation Language (DML) 1. Retrieving Data from the Database The SELECT Statement Types of SELECT Statement The DUAL Table: What is a NULL? Pseudo-Columns: More about SQL-Plus Formatting: 2. Filtering SELECT Statements The WHERE Clause Conditional Comparisons Using the WHERE Clause Using Logical Operators: Technoville Consulting Inc, Sterling VA (703) 851-7314 Page 1 3. INSERT/ UPDATE/ DELETE/ MERGE Adding Data with INSERT Multiple Table INSERT: Changing Data with UPDATE Remove Data with DELETE or TRUNCATE Merging Tables with MERGE Locking and Visibility of Data Changes COMMIT vs ROLLBACK 4. SQL Workshop Session 3: Test on SQL & Review Session 4: Advanced SQL Programming. 1. Sorting SELECT Statements The ORDER BY Clause Sorting Methods 2. Joining Multiple Tables What is a Join? Two Join Syntax Formats Types of Joins: Cross Join or Cartesian Product Natural or Inner Join: Outer Join: Self Join Equi-Joins, Anti-Joins and Range-Joins Mutable and Complex Joins 3. Summarizing with GROUP BY What does GROUP BY do? The GROUP BY Clause Types of Grouping Functions Special Behavior: Summary Functions Statistical Functions Other Functions Filtering GROUP BY with the HAVING Clause Extending the GROUP BY Clause: Technoville Consulting Inc, Sterling VA (703) 851-7314 Page 2 4. Sub-queries and Other Advanced Queries What is a Sub-query? Types of Sub-queries Comparison Conditions Revisited: Regular vs. Correlated Sub-queries Nested Sub-queries and Replacing Joins Where can Sub-queries be used? Hierarchical Queries Set Operators and Composite Queries Session 5: PL-SQL Programming 1. Introduction to PL/SQL PL/SQL Overview Benefits of PL/SQL Subprograms Overview of the Types of PL/SQL blocks Creating and Executing a Simple Anonymous Block Generating Output from a PL/SQL Block Describing Basic PL/SQL Block Syntax Guidelines SQL Functions in PL/SQL Data Type Conversion Nested Blocks 2. Writing Control Structures Conditional processing Using IF Statements Conditional processing Using CASE Statements Simple Loop Statement While Loop Statement For Loop Statement The Continue Statement 3. Using Explicit Cursors Understanding Explicit Cursors Declaring the Cursor Opening the Cursor Fetching data from the Cursor Closing the Cursor Cursor FOR loop 4. Using the PL/SQL Compiler Using the PL/SQL Compiler Using the Initialization Parameters for PL/SQL Compilation Using the New PL/SQL Compile Time Warnings Overview of PL/SQL Compile Time Warnings for Subprograms The Benefits of Compiler Warnings The PL/SQL Compile Time Warning Messages Categories Technoville Consulting Inc, Sterling VA (703) 851-7314 Page 3 Session 6: PL/SQL Advanced Programming 1. Creating Stored Procedures Modularizing Development with PL/SQL Blocks Understanding the PL/SQL Execution Environment The Differences between Anonymous Blocks and Subprograms Creating, Calling, and Removing Stored Procedures Using the CREATE Command Using Procedures Parameters and Parameters Modes Viewing Procedures Information Using the Data Dictionary Views Using User-Defined Functions in SQL Statements Restrictions When Calling Functions from SQL statements Viewing Functions Information Debugging Functions and Procedures 2. Creating Packages Listing the Advantages of Packages Describing Packages The Components of a Package Developing a Package Creating the Package Specification and Body Using the SQL CREATE Statement Invoking the Package Constructs Overloading Subprograms in PL/SQL Using Package Functions in SQL and Restrictions Persistent State of Packages Controlling Side Effects of PL/SQL Subprograms Using PL/SQL Tables of Records in Packages 3. Creating Triggers Working with Triggers Identifying the Trigger Event Types and Body Business Application Scenarios for Implementing Triggers Creating DML Triggers Using the CREATE TRIGGER Statement Identifying the Trigger Event Types, Body, and Firing (Timing) Statement Level Triggers Vs Row Level Triggers Creating Instead of and Disabled Triggers Managing, Testing, and Removing Triggers 4. Design Considerations for PL/SQL Code Standardizing Constants and Exceptions Using Local Subprograms Using Autonomous Transactions Using the NOCOPY Compiler Hint Using the PARALLEL_ENABLE Hint Using the DETERMINISTIC Clause with Functions Session 7: PL/SQL Work-Shop and Test Technoville Consulting Inc, Sterling VA (703) 851-7314 Page 4