Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 20

1

Introduction to PL/SQL

Copyright © 2004, Oracle. All rights reserved.


Lesson Objectives

After completing this lesson, you should be able to do


the following:
• Explain the need for PL/SQL
• Explain the benefits of PL/SQL
• Identify the different types of PL/SQL blocks
• Use iSQL*Plus as a development environment for
PL/SQL
• Output messages in PL/SQL

1-2 Copyright © 2004, Oracle. All rights reserved.


What Is PL/SQL?

PL/SQL:
• Stands for Procedural Language extension to SQL
• Is Oracle Corporation’s standard data access
language for relational databases
• Seamlessly integrates procedural constructs with
SQL

1-3 Copyright © 2004, Oracle. All rights reserved.


About PL/SQL

PL/SQL:
• Provides a block structure for executable units of
code. Maintenance of code is made easier with
such a well-defined structure.
• Provides procedural constructs such as:
– Variables, constants, and types
– Control structures such as conditional statements
and loops
– Reusable program units that are written once and
executed many times

1-4 Copyright © 2004, Oracle. All rights reserved.


PL/SQL Environment

PL/SQL Engine

procedural Procedural
PL/SQL Statement
Block Executor
SQL

SQL Statement
Executor

Oracle Database Server

1-5 Copyright © 2004, Oracle. All rights reserved.


Benefits of PL/SQL

• Integration of procedural constructs with SQL


• Improved performance

SQL 1
SQL 2

SQL
IF...THEN
SQL
ELSE
SQL
END IF;
SQL

1-6 Copyright © 2004, Oracle. All rights reserved.


Benefits of PL/SQL

• Modularized program development


• Integration with Oracle tools
• Portability
• Exception handling

1-7 Copyright © 2004, Oracle. All rights reserved.


PL/SQL Block Structure

DECLARE (Optional)
Variables, cursors, user-defined exceptions
BEGIN (Mandatory)
- SQL statements
- PL/SQL statements
EXCEPTION (Optional)
Actions to perform
when errors occur
END; (Mandatory)

1-9 Copyright © 2004, Oracle. All rights reserved.


Block Types

Anonymous Procedure
Function
[DECLARE] PROCEDURE name FUNCTION name
IS RETURN datatype
IS
BEGIN BEGIN BEGIN
--statements --statements --statements
RETURN value;
[EXCEPTION] [EXCEPTION] [EXCEPTION]

END; END; END;

1-11 Copyright © 2004, Oracle. All rights reserved.


Program Constructs

Database Server
Tools Constructs
Constructs
Anonymous blocks Anonymous blocks
Application procedures Stored procedures or
or functions functions
Application packages Stored packages

Application triggers Database triggers

Object types Object types

1-13 Copyright © 2004, Oracle. All rights reserved.


PL/SQL Programming Environments

1-15 Copyright © 2004, Oracle. All rights reserved.


PL/SQL Programming Environments

iSQL*Plus

1-16 Copyright © 2004, Oracle. All rights reserved.


PL/SQL Programming Environments

1-17 Copyright © 2004, Oracle. All rights reserved.


iSQL*Plus Architecture

1-18 Copyright © 2004, Oracle. All rights reserved.


Create an Anonymous Block

Type the anonymous block in the iSQL*Plus


workspace:

1-19 Copyright © 2004, Oracle. All rights reserved.


Execute an Anonymous Block

Click the Execute button to execute the anonymous


block:

PL\SQL procedure successfully completed.

1-20 Copyright © 2004, Oracle. All rights reserved.


Test the Output of a PL/SQL Block

• Enable output in iSQL*Plus with the command


SET SERVEROUTPUT ON
• Use a predefined Oracle package and its
procedure:
– DBMS_OUTPUT.PUT_LINE

SET SERVEROUTPUT ON

DBMS_OUTPUT.PUT_LINE(' The First Name of the
Employee is ' || f_name);

1-21 Copyright © 2004, Oracle. All rights reserved.


Test the Output of a PL/SQL Block

1-22 Copyright © 2004, Oracle. All rights reserved.


Summary

In this lesson, you should have learned how to:


• Integrate SQL statements with PL/SQL program
constructs
• Identify the benefits of PL/SQL
• Differentiate different PL/SQL block types
• Use iSQL*Plus as the programming environment
for PL/SQL
• Output messages in PL/SQL

1-23 Copyright © 2004, Oracle. All rights reserved.


Practice 1: Overview

This practice covers the following topics:


• Identifying which PL/SQL blocks execute
successfully
• Creating and executing a simple PL/SQL block

1-24 Copyright © 2004, Oracle. All rights reserved.

You might also like