Sie sind auf Seite 1von 16

PLSQL – Lesson 01a –

Basics of PL/SQL

Copyright © 2006, Oracle. All rights reserved.


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 SQL*Plus as a development environment for
PL/SQL
• Output messages in PL/SQL

1-2 Copyright © 2006, 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 © 2006, 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 © 2006, Oracle. All rights reserved.


PL/SQL Environment

PL/SQL engine
Procedural
procedural Statement
PL/SQL Executor
Block (e.g.
SQL Forms)

SQL Statement
Executor

Oracle Database Server

Note that the database server also has procedural statement executor.

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


Benefits of PL/SQL

• Integration of procedural constructs with SQL


• Improved performance (reduce network traffic)

SQL 1
SQL 2

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

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


Benefits of PL/SQL

• Modularized program development


• Integration with Oracle tools
• Portability
• Exception handling

1-7 Copyright © 2006, 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-8 Copyright © 2006, 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-9 Copyright © 2006, Oracle. All rights reserved.


Program Constructs

Tools Constructs Database Server


(e.g. forms) 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-10 Copyright © 2006, Oracle. All rights reserved.


PL/SQL Programming Environments

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


Create an Anonymous Block

Type the anonymous block in SQL*Plus

1-12 Copyright © 2006, Oracle. All rights reserved.


Test the Output of a PL/SQL Block

• Enable output in iSQL*Plus with the following


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-13 Copyright © 2006, Oracle. All rights reserved.


Test the Output of a PL/SQL Block

1-14 Copyright © 2006, Oracle. All rights reserved.


How the DBMS_OUTPUT Package Works

The DBMS_OUTPUT package enables you to send


messages from stored subprograms and triggers.
• PUT and PUT_LINE place text in the buffer.
• GET_LINE and GET_LINES read the buffer.
• Messages are not sent until the sender completes.
• Use SET SERVEROUTPUT ON to display messages in
iSQL*Plus.

PUT
NEW_LINE
Output PUT_LINE
SET SERVEROUT ON [SIZE n]
EXEC proc GET_LINE Buffer
GET_LINES

1-15 Copyright © 2006, 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 SQL*Plus as the programming environment
for PL/SQL
• Output messages in PL/SQL

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

Das könnte Ihnen auch gefallen