SlideShare a Scribd company logo
1 of 9
Oracle Fundamental and PLSQL
In this seven-day instructor-led introduction to
Oracle training class, students learn about the Oracle
Database fundamentals, Architecture, how to create,
retrieve, and manipulate objects in Oracle Structured
Query Language (SQL) and then move on to learn
the fundamentals of PL/SQL which is Oracle’s
Procedural Language for SQL. This course combines
all the topics from our two-day Introduction to Oracle
SQL and our three-day Introduction to PL/SQL
training.
Course ID: ORACLE FPLSQL
Duration: 7 days
Audience: Database Application Developers
Prerequisites: No Pre-requisite
In the first two days of class students will learn
Learn how to code in SQL
Hands-on SQL with Lots of exercises
Learn Single Table Queries and Single Row
Functions
Learn Grouping Functions, Multi Table Queries and
Joints
Learn to Create, Alter and Update the objects in
SQL
Create, design, and operate with SQL databases
Learn SQL for Database Administration, SQL
Development and Business Analysis
Learn to create a database from scratch
Learn to control dataset, insert, update, and delete
the records
In the next two days of class students will learn
how to create, retrieve, and manipulate objects in
Oracle Structured Query Language (SQL). Students
will also be introduced to Oracle database features
and tools.
In the last three days of the Oracle
Programming course students learn the
fundamentals of PL/SQL which is Oracle’s Procedural
Language for SQL. PL/SQL is Oracle’s database
programming language for creating stored
procedures, functions, database triggers, and object
methods. Students will learn programming,
management, and security issues of working with
PL/SQL program units. Programming topics will
include the built-in packages that come with Oracle,
the creation of triggers, and stored procedure
features.
Relational Database and SQL Overview
 Review of Relational Database Terminology
 Relational Database Management Systems
 Introduction to SQL
 Oracle Versioning and History
 Logical and Physical Storage Structures
 Connecting to a SQL Database
 Datatypes
 Sample Database
Using Oracle SQL*Plus or TOAD
 SQL*Plus
 The SQL Buffer
 Buffer Manipulation Commands
 Running SQL*Plus Scripts
 Tailoring Your SQL*Plus Environment
 Viewing Table Characteristics
 SQL*Plus Substitution Variables
 Interactive SQL*Plus Scripts
 SQL*Plus LOB Support
 Graphical Clients
SQL Queries – The SELECT Statement
 The SELECT Statement
 The CASE…WHEN Expression
 Choosing Rows with the WHERE Clause
 NULL Values
 Compound Expressions
 IN and BETWEEN
 Pattern Matching: LIKE and REGEXP_LIKE
 Creating Some Order
Scalar Functions
 SQL Functions
 Using SQL Functions
 String Functions
 Regular Expression Functions
 Numeric Functions
 Date Functions
 Date Formats
 Conversion Functions
 Literal Values
 Intervals
 Oracle Pseudo columns
SQL Queries – Joins
 Selecting from Multiple Tables
 Joining Tables
 Self Joins
 Outer Joins
Aggregate Functions and Advanced
Techniques
 Subqueries
 Correlated Subqueries
 The EXISTS Operator
 The Aggregate Functions
 Nulls and DISTINCT
 Grouping Rows
 Combining SELECT Statements
Data Manipulation and Transactions
 The INSERT Statement
 The UPDATE Statement
 The DELETE Statement
 Transaction Management
 Concurrency
 Explicit Locking
 Data Inconsistencies
 Loading Tables from External Sources
Data Definition and Control Statements
 Datatypes
 Defining Tables
 Constraints
 Inline Constraints
 Modifying Table Definitions
 Deleting a Table Definition
 Controlling Access to Your Tables
Other Database Objects
 Views
 Creating Views
 Updatable Views
 Sequences
 Synonyms
Triggers
 Beyond Declarative Integrity
 Triggers
 Types of Triggers
 Trigger Sequencing
 Row-Level Triggers
 Trigger Predicates
 Trigger Conditions
 Using Sequences
 Cascading Triggers and Mutating Tables
 Generating an Error
 Maintaining Triggers
PL/SQL Variables and Datatypes
 Anonymous Blocks
 Declaring Variables
 Datatypes
 Subtypes
 Character Data
 Dates and Timestamps
 Date Intervals
 Anchored Types
 Assignment and Conversions
 Selecting into a Variable
 Returning into a Variable
PL/SQL Syntax and Logic
 Conditional Statements – IF/THEN
 Conditional Statements – CASE
 Comments and Labels
 Loops
 WHILE and FOR Loops
 SQL in PL/SQL
 Local Procedures and Functions
Stored Procedures and Functions
 Stored Subprograms
 Creating a Stored Procedure
 Procedure Calls and Parameters
 Parameter Modes
 Named Parameter Notation
 Default Arguments
 Creating a Stored Function
 Stored Functions and SQL
 Invoker’s Rights
Exception Handling
 SQLCODE and SQLERRM
 Exception Handlers
 Nesting Blocks
 Scope and Name Resolution
 Declaring and Raising Named Exceptions
 User-Defined Exceptions
Records, Collections, and User-Defined Types
 Record Variables
 Using the %ROWTYPE Attribute
 User-Defined Object Types
 VARRAY and Nested TABLE Collections
 Using Nested TABLEs
 Using VARRAYs
 Collections in Database Tables
 Associative Array Collections
 Collection Methods
 Iterating Through Collections
Cursors
 Multi-Row Queries
 Declaring and Opening Cursors
 Fetching Rows
 Closing Cursors
 The Cursor FOR Loop
 FOR UPDATE Cursors
 Cursor Parameters
 The Implicit (SQL) Cursor
 Bulk Operations
 Bulk Binding
 BULK COLLECT Clause
 FORALL Statement
 FORALL Variations
 Bulk Returns
 Bulk Fetching with Cursors
Using Packages
 Packages
 Oracle-Supplied Packages
 The DBMS_OUTPUT Package
 The DBMS_UTILITY Package
 The UTL_FILE Package
 Creating Pipes with DBMS_PIPE
 Writing to and Reading from a Pipe
 The DBMS_METADATA Package
 XML Packages
 Networking Packages
 Other Supplied Packages
Creating Packages
 Structure of a Package
 The Package Interface and Implementation
 Package Variables and Package State
 Overloading Package Functions and Procedures
 Forward Declarations
 Strong REF CURSOR Variables
 Weak REF CURSOR Variables
Working with LOBs
 Large Object Types
 Oracle Directories
 LOB Locators
 Internal LOBs
 LOB Storage and SECUREFILEs
 External LOBs
 Temporary LOBs
 The DBMS_LOB Package
Maintaining PL/SQL Code
 Privileges for Stored Programs
 Data Dictionary
 PL/SQL Stored Program Compilation
 Conditional Compilation
 Compile-Time Warnings
 The PL/SQL Execution Environment
 Dependencies and Validation
 Maintaining Stored Programs
Appendix A – The Data Dictionary
 Introducing the Data Dictionary
 DBA, ALL, and USER Data Dictionary Views
 Some Useful Data Dictionary Queries
Appendix B: Dynamic SQL
 Generating SQL at Runtime
 Native Dynamic SQL vs. DBMS_SQL
Package
 The EXECUTE IMMEDIATE Statement
 Using Bind Variables
 Multi-row Dynamic Queries
 Bulk Operations with Dynamic SQL
 Using DBMS_SQL
 DBMS_SQL Subprograms
Appendix C: PL/SQL Versions, Datatypes, and
Language

More Related Content

Similar to Oracle Fundamental and PL-SQL.docx

Introduction to SQL, SQL*Plus
Introduction to SQL, SQL*PlusIntroduction to SQL, SQL*Plus
Introduction to SQL, SQL*PlusChhom Karath
 
Oracle Training Tutorial for Beginners
Oracle Training Tutorial for BeginnersOracle Training Tutorial for Beginners
Oracle Training Tutorial for Beginnersrajkamaltibacademy
 
oracle plsql training | oracle online training | oracle plsql demo | oracle p...
oracle plsql training | oracle online training | oracle plsql demo | oracle p...oracle plsql training | oracle online training | oracle plsql demo | oracle p...
oracle plsql training | oracle online training | oracle plsql demo | oracle p...Nancy Thomas
 
Oracle Course content
Oracle Course contentOracle Course content
Oracle Course contentTRINADH G
 
What does PL_SQL stand for and what is the functioning of PL_SQL.docx
What does PL_SQL stand for and what is the functioning of PL_SQL.docxWhat does PL_SQL stand for and what is the functioning of PL_SQL.docx
What does PL_SQL stand for and what is the functioning of PL_SQL.docxshivanikaale214
 
Database management system chapter5
Database management system chapter5Database management system chapter5
Database management system chapter5Pranab Dasgupta
 
Presenter manual oracle dba (specially for summer interns)
Presenter manual oracle dba (specially for summer interns)Presenter manual oracle dba (specially for summer interns)
Presenter manual oracle dba (specially for summer interns)XPERT INFOTECH
 
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeToolsTobias Koprowski
 

Similar to Oracle Fundamental and PL-SQL.docx (20)

Introduction to SQL, SQL*Plus
Introduction to SQL, SQL*PlusIntroduction to SQL, SQL*Plus
Introduction to SQL, SQL*Plus
 
Oracle Training Tutorial for Beginners
Oracle Training Tutorial for BeginnersOracle Training Tutorial for Beginners
Oracle Training Tutorial for Beginners
 
Sql tutorial
Sql tutorialSql tutorial
Sql tutorial
 
oracle plsql training | oracle online training | oracle plsql demo | oracle p...
oracle plsql training | oracle online training | oracle plsql demo | oracle p...oracle plsql training | oracle online training | oracle plsql demo | oracle p...
oracle plsql training | oracle online training | oracle plsql demo | oracle p...
 
Oracle Course content
Oracle Course contentOracle Course content
Oracle Course content
 
What does PL_SQL stand for and what is the functioning of PL_SQL.docx
What does PL_SQL stand for and what is the functioning of PL_SQL.docxWhat does PL_SQL stand for and what is the functioning of PL_SQL.docx
What does PL_SQL stand for and what is the functioning of PL_SQL.docx
 
Database management system chapter5
Database management system chapter5Database management system chapter5
Database management system chapter5
 
Presenter manual oracle dba (specially for summer interns)
Presenter manual oracle dba (specially for summer interns)Presenter manual oracle dba (specially for summer interns)
Presenter manual oracle dba (specially for summer interns)
 
Resume_of_sayeed
Resume_of_sayeedResume_of_sayeed
Resume_of_sayeed
 
Preface
PrefacePreface
Preface
 
Software Database and Testing
Software Database and TestingSoftware Database and Testing
Software Database and Testing
 
Bn 1018 demo pl sql
Bn 1018 demo  pl sqlBn 1018 demo  pl sql
Bn 1018 demo pl sql
 
Oracle SQL Training in Chennai, Tambaram
Oracle SQL Training in Chennai, TambaramOracle SQL Training in Chennai, Tambaram
Oracle SQL Training in Chennai, Tambaram
 
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools
 
Oracle Introduction
Oracle Introduction Oracle Introduction
Oracle Introduction
 
Dbmsunit v
Dbmsunit vDbmsunit v
Dbmsunit v
 
Introduction to Oracle
Introduction to OracleIntroduction to Oracle
Introduction to Oracle
 
Introduction to Oracle
Introduction to OracleIntroduction to Oracle
Introduction to Oracle
 
Winter course
Winter courseWinter course
Winter course
 
Intro
IntroIntro
Intro
 

Recently uploaded

办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 

Recently uploaded (20)

办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 

Oracle Fundamental and PL-SQL.docx

  • 1. Oracle Fundamental and PLSQL In this seven-day instructor-led introduction to Oracle training class, students learn about the Oracle Database fundamentals, Architecture, how to create, retrieve, and manipulate objects in Oracle Structured Query Language (SQL) and then move on to learn the fundamentals of PL/SQL which is Oracle’s Procedural Language for SQL. This course combines all the topics from our two-day Introduction to Oracle SQL and our three-day Introduction to PL/SQL training. Course ID: ORACLE FPLSQL Duration: 7 days Audience: Database Application Developers Prerequisites: No Pre-requisite In the first two days of class students will learn Learn how to code in SQL Hands-on SQL with Lots of exercises Learn Single Table Queries and Single Row Functions Learn Grouping Functions, Multi Table Queries and Joints Learn to Create, Alter and Update the objects in SQL Create, design, and operate with SQL databases Learn SQL for Database Administration, SQL Development and Business Analysis Learn to create a database from scratch
  • 2. Learn to control dataset, insert, update, and delete the records In the next two days of class students will learn how to create, retrieve, and manipulate objects in Oracle Structured Query Language (SQL). Students will also be introduced to Oracle database features and tools. In the last three days of the Oracle Programming course students learn the fundamentals of PL/SQL which is Oracle’s Procedural Language for SQL. PL/SQL is Oracle’s database programming language for creating stored procedures, functions, database triggers, and object methods. Students will learn programming, management, and security issues of working with PL/SQL program units. Programming topics will include the built-in packages that come with Oracle, the creation of triggers, and stored procedure features. Relational Database and SQL Overview  Review of Relational Database Terminology  Relational Database Management Systems  Introduction to SQL  Oracle Versioning and History  Logical and Physical Storage Structures  Connecting to a SQL Database  Datatypes  Sample Database
  • 3. Using Oracle SQL*Plus or TOAD  SQL*Plus  The SQL Buffer  Buffer Manipulation Commands  Running SQL*Plus Scripts  Tailoring Your SQL*Plus Environment  Viewing Table Characteristics  SQL*Plus Substitution Variables  Interactive SQL*Plus Scripts  SQL*Plus LOB Support  Graphical Clients SQL Queries – The SELECT Statement  The SELECT Statement  The CASE…WHEN Expression  Choosing Rows with the WHERE Clause  NULL Values  Compound Expressions  IN and BETWEEN  Pattern Matching: LIKE and REGEXP_LIKE  Creating Some Order Scalar Functions  SQL Functions  Using SQL Functions  String Functions  Regular Expression Functions  Numeric Functions  Date Functions
  • 4.  Date Formats  Conversion Functions  Literal Values  Intervals  Oracle Pseudo columns SQL Queries – Joins  Selecting from Multiple Tables  Joining Tables  Self Joins  Outer Joins Aggregate Functions and Advanced Techniques  Subqueries  Correlated Subqueries  The EXISTS Operator  The Aggregate Functions  Nulls and DISTINCT  Grouping Rows  Combining SELECT Statements Data Manipulation and Transactions  The INSERT Statement  The UPDATE Statement  The DELETE Statement  Transaction Management  Concurrency  Explicit Locking  Data Inconsistencies  Loading Tables from External Sources Data Definition and Control Statements
  • 5.  Datatypes  Defining Tables  Constraints  Inline Constraints  Modifying Table Definitions  Deleting a Table Definition  Controlling Access to Your Tables Other Database Objects  Views  Creating Views  Updatable Views  Sequences  Synonyms Triggers  Beyond Declarative Integrity  Triggers  Types of Triggers  Trigger Sequencing  Row-Level Triggers  Trigger Predicates  Trigger Conditions  Using Sequences  Cascading Triggers and Mutating Tables  Generating an Error  Maintaining Triggers PL/SQL Variables and Datatypes  Anonymous Blocks  Declaring Variables  Datatypes
  • 6.  Subtypes  Character Data  Dates and Timestamps  Date Intervals  Anchored Types  Assignment and Conversions  Selecting into a Variable  Returning into a Variable PL/SQL Syntax and Logic  Conditional Statements – IF/THEN  Conditional Statements – CASE  Comments and Labels  Loops  WHILE and FOR Loops  SQL in PL/SQL  Local Procedures and Functions Stored Procedures and Functions  Stored Subprograms  Creating a Stored Procedure  Procedure Calls and Parameters  Parameter Modes  Named Parameter Notation  Default Arguments  Creating a Stored Function  Stored Functions and SQL  Invoker’s Rights Exception Handling  SQLCODE and SQLERRM  Exception Handlers
  • 7.  Nesting Blocks  Scope and Name Resolution  Declaring and Raising Named Exceptions  User-Defined Exceptions Records, Collections, and User-Defined Types  Record Variables  Using the %ROWTYPE Attribute  User-Defined Object Types  VARRAY and Nested TABLE Collections  Using Nested TABLEs  Using VARRAYs  Collections in Database Tables  Associative Array Collections  Collection Methods  Iterating Through Collections Cursors  Multi-Row Queries  Declaring and Opening Cursors  Fetching Rows  Closing Cursors  The Cursor FOR Loop  FOR UPDATE Cursors  Cursor Parameters  The Implicit (SQL) Cursor  Bulk Operations  Bulk Binding  BULK COLLECT Clause  FORALL Statement  FORALL Variations  Bulk Returns  Bulk Fetching with Cursors
  • 8. Using Packages  Packages  Oracle-Supplied Packages  The DBMS_OUTPUT Package  The DBMS_UTILITY Package  The UTL_FILE Package  Creating Pipes with DBMS_PIPE  Writing to and Reading from a Pipe  The DBMS_METADATA Package  XML Packages  Networking Packages  Other Supplied Packages Creating Packages  Structure of a Package  The Package Interface and Implementation  Package Variables and Package State  Overloading Package Functions and Procedures  Forward Declarations  Strong REF CURSOR Variables  Weak REF CURSOR Variables Working with LOBs  Large Object Types  Oracle Directories  LOB Locators  Internal LOBs  LOB Storage and SECUREFILEs  External LOBs  Temporary LOBs  The DBMS_LOB Package
  • 9. Maintaining PL/SQL Code  Privileges for Stored Programs  Data Dictionary  PL/SQL Stored Program Compilation  Conditional Compilation  Compile-Time Warnings  The PL/SQL Execution Environment  Dependencies and Validation  Maintaining Stored Programs Appendix A – The Data Dictionary  Introducing the Data Dictionary  DBA, ALL, and USER Data Dictionary Views  Some Useful Data Dictionary Queries Appendix B: Dynamic SQL  Generating SQL at Runtime  Native Dynamic SQL vs. DBMS_SQL Package  The EXECUTE IMMEDIATE Statement  Using Bind Variables  Multi-row Dynamic Queries  Bulk Operations with Dynamic SQL  Using DBMS_SQL  DBMS_SQL Subprograms Appendix C: PL/SQL Versions, Datatypes, and Language