Tải bản đầy đủ (.pdf) (529 trang)

Tài liệu Oracle9i : Program with PL/SQL pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.32 MB, 529 trang )

Oracle9i: Program with PL/SQL
Electronic Presentation
40054GC11
Production 1.1
October 2001
D34010
Copyright © Oracle Corporation, 1999, 2000, 2001. All rights reserved.
This documentation contains proprietary information of Oracle Corporation. It is provided under a
license agreement containing restrictions on use and disclosure and is also protected by copyright
law. Reverse engineering of the software is prohibited. If this documentation is delivered to a U.S.
Government Agency of the Department of Defense, then it is delivered with Restricted Rights and the
following legend is applicable:
Restricted Rights Legend
Use, duplication or disclosure by the Government is subject to restrictions for commercial computer
software and shall be deemed to be Restricted Rights software under Federal law, as set forth in
subparagraph (c)(1)(ii) of DFARS 252.227-7013, Rights in Technical Data and Computer Software
(October 1988).
This material or any portion of it may not be copied in any formor by any means without the express
prior written permission of the Education Products group of Orac le Corporation. Any other copying is
a violation of copyright law and may result in civil and/or criminal penalties.
If this documentation is delivered to a U.S. Government Agency not within the Department of
Defense, then it is delivered with “Restricted Rights,” as defined in FAR 52.227-14, Rights in Data-
General, including Alternate III (June 1987).
The information in this document is subject to change without notice. If you find any problems in the
documentation, please report them in writing to Worldwide Education Services, Oracle Corporation,
500Oracle Parkway, Box SB-6, Redwood Shores, CA 94065. Oracle Corporation does not warrant
that this document is error-free.
Oracle and all references to Oracle Products are trademarks or registered trademarks of Oracle
Corporation.
All other products or company names are used for identification purposes only, and may be
trademarks of their respective owners.


Authors
Nagavalli Pataballa
Priya Nathan
Technical Contributors
and Reviewers
Anna Atkinson
Bryan Roberts
Caroline Pereda
Cesljas Zarco
Coley William
Daniel Gabel
Dr. Christoph Burandt
Hakan Lindfors
Helen Robertson
John Hoff
Lachlan Williams
Laszlo Czinkoczki
Laura Pezzini
Linda Boldt
Marco Verbeek
Natarajan Senthil
Priya Vennapusa
RogerAbuzalaf
Ruediger Steffan
Sarah Jones
Stefan Lindblad
Susan Dee
Publisher
SherylDomingue
Copyright © Oracle Corporation, 2001. All rights reserved.

Curriculum Map
Copyright © Oracle Corporation, 2001. All rights reserved.
Languages Curriculum for Oracle9i
Introduction to Oracle9i
for
Experienced SQL Users
inClass
Oracle9i: Advanced PL/SQL
inClass
Oracle9i: Advanced PL/SQL
inClass
Oracle9i: SQL for
End Users
inClass
Oracle9i: SQL for
End Users
inClass
Oracle9i: Program with PL/SQL
inClass
Oracle9i: Develop PL/SQL
Program Units
Oracle9i: Develop PL/SQL
Program Units
Oracle9i: PL/SQL
Fundamentals
or
Introduction
to Oracle9i:
SQL Basics
Introduction to

Oracle9i: SQL
inClass
Oracle9i:
Advanced
SQL
I
Copyright © Oracle Corporation, 2001. All rights reserved.
Overview of PL/SQL
Copyright © Oracle Corporation, 2001. All rights reserved.
I-2
Course Objectives
Course Objectives
After completing this course, you should be able to
do the following:
• Describe the purpose of PL/SQL
• Describe the use of PL/SQL for the developer as
well as the DBA
• Explain the benefits of PL/SQL
• Create, execute, and maintain procedures,
functions, packages, and database triggers
• Manage PL/SQL subprograms and triggers
• Describe Oracle supplied packages
• Manipulate large objects (LOBs)
After completing this course, you should be able to
do the following:
• Describe the purpose of PL/SQL
• Describe the use of PL/SQL for the developer as
well as the DBA
• Explain the benefits of PL/SQL
• Create, execute, and maintain procedures,

functions, packages, and database triggers
• Manage PL/SQL subprograms and triggers
• Describe Oracle supplied packages
• Manipulate large objects (LOBs)
Copyright © Oracle Corporation, 2001. All rights reserved.
I-3
About PL/SQL
About PL/SQL
• PL/SQL is the procedural extension to SQL with
design features of programming languages.
• Data manipulation and query statements of SQL
are included within procedural units of code.
• PL/SQL is the procedural extension to SQL with
design features of programming languages.
• Data manipulation and query statements of SQL
are included within procedural units of code.
Copyright © Oracle Corporation, 2001. All rights reserved.
I-4
PL/SQL Environment
PL/SQL Environment
PL/SQL
block
PL/SQL engine
Oracle server
Procedural
statement
executor
PL/SQL
SQL
SQL statement executor

PL/SQL
block
Copyright © Oracle Corporation, 2001. All rights reserved.
I-5
Benefits of PL/SQL
Benefits of PL/SQL
Integration
Integration
Application
Oracle server
Shared
library
Copyright © Oracle Corporation, 2001. All rights reserved.
I-6
Benefits of PL/SQL
Benefits of PL/SQL
Improved performance
Improved performance
Application
Other DBMSs
Application
Oracle with
PL/SQL
SQL
SQL
SQL
SQL
SQL
IF THEN
SQL

ELSE
SQL
END IF;
SQL
Copyright © Oracle Corporation, 2001. All rights reserved.
I-7
Benefits of PL/SQL
Benefits of PL/SQL
Modularize program development
Modularize program development
DECLARE
BEGIN
END;
EXCEPTION



Copyright © Oracle Corporation, 2001. All rights reserved.
I-8
Benefits of PL/SQL
Benefits of PL/SQL
• PL/SQL is portable.
• You can declare variables.
• PL/SQL is portable.
• You can declare variables.
Copyright © Oracle Corporation, 2001. All rights reserved.
I-9
Benefits of PL/SQL
Benefits of PL/SQL
• You can program with procedural language

control structures.
• PL/SQL can handle errors.
• You can program with procedural language
control structures.
• PL/SQL can handle errors.
Copyright © Oracle Corporation, 2001. All rights reserved.
I-10
Benefits of Subprograms
• Easy maintenance
• Improved data security and integrity
• Improved performance
• Improved code clarity
Copyright © Oracle Corporation, 2001. All rights reserved.
I-11
Invoking Stored Procedures
and Functions
xxxxxxxxxxxxxx
vvvvvvvvvvvvvv
xxxxxxxxxxxxxx
vvvvvvvvvvvvvv
xxxxxxxxxxxxxx
vvvvvvvvvvvvvv
xxxxxxxxxxxxxx
vvvvvvvvvvvvvv
xxxxxxxxxxxxxx
vvvvvvvvvvvvvv
LOG_EXECUTION
procedure
Scott
xxxxxxxxxxxxxx

vvvvvvvvvvvvvv
xxxxxxxxxxxxxx
vvvvvvvvvvvvvv
xxxxxxxxxxxxxx
vvvvvvvvvvvvvv
xxxxxxxxxxxxxx
vvvvvvvvvvvvvv
xxxxxxxxxxxxxx
vvvvvvvvvvvvvv
Scott
Oracle
Forms
Developer
Oracle
Discoverer
Oracle
Portal
1
2
3
4
Copyright © Oracle Corporation, 2001. All rights reserved.
I-12
Summary
Summary
• PL/SQL is an extension to SQL.
• Blocks of PL/SQL code are passed to and
processed by a PL/SQL engine.
• Benefits of PL/SQL:
– Integration

– Improved performance
– Portability
– Modularity of program development
• Subprograms are named PL/SQL blocks, declared
as either procedures or functions.
• You can invoke subprograms from different
environments.
• PL/SQL is an extension to SQL.
• Blocks of PL/SQL code are passed to and
processed by a PL/SQL engine.
• Benefits of PL/SQL:
– Integration
– Improved performance
– Portability
– Modularity of program development
• Subprograms are named PL/SQL blocks, declared
as either procedures or functions.
• You can invoke subprograms from different
environments.
1
Copyright © Oracle Corporation, 2001. All rights reserved.
Declaring Variables
Copyright © Oracle Corporation, 2001. All rights reserved.
1-2
Objectives
Objectives
After completing this lesson, you should be able to
do the following:
• Recognize the basic PL/SQL block and its sections
• Describe the significance of variables in PL/SQL

• Declare PL/SQL variables
• Execute a PL/SQL block
After completing this lesson, you should be able to
do the following:
• Recognize the basic PL/SQL block and its sections
• Describe the significance of variables in PL/SQL
• Declare PL/SQL variables
• Execute a PL/SQL block
Copyright © Oracle Corporation, 2001. All rights reserved.
1-3
PL/SQL Block Structure
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)
DECLARE
BEGIN
END;
EXCEPTION



Copyright © Oracle Corporation, 2001. All rights reserved.
1-4
Executing Statements and PL/SQL Blocks

Executing Statements and PL/SQL Blocks
DECLARE
v_variable VARCHAR2(5);
BEGIN
SELECT column_name
INTO v_variable
FROM table_name;
EXCEPTION
WHEN exception_name THEN

END;
DECLARE
BEGIN
END;
EXCEPTION



Copyright © Oracle Corporation, 2001. All rights reserved.
1-5
Block Types
Block Types
Anonymous Procedure Function
[DECLARE]
BEGIN
statements
[EXCEPTION]
END;
PROCEDURE name
IS

BEGIN
statements
[EXCEPTION]
END;
FUNCTION name
RETURN datatype
IS
BEGIN
statements
RETURN value;
[EXCEPTION]
END;
Copyright © Oracle Corporation, 2001. All rights reserved.
1-6
Program Constructs
Program Constructs
DECLARE
BEGIN
END;
EXCEPTION



Tools Constructs
Anonymous blocks
Application procedures or
functions
Application packages
Application triggers
Object types



Database Server
Constructs
Anonymous blocks
Stored procedures or
functions
Stored packages
Database triggers
Object types


Copyright © Oracle Corporation, 2001. All rights reserved.
1-7
Use of Variables
Use of Variables
Variables can be used for:
• Temporary storage of data
• Manipulation of stored values
• Reusability
• Ease of maintenance
Variables can be used for:
• Temporary storage of data
• Manipulation of stored values
• Reusability
• Ease of maintenance
Copyright © Oracle Corporation, 2001. All rights reserved.
1-8
Handling Variables in PL/SQL
Handling Variables in PL/SQL

• Declare and initialize variables in the declaration
section.
• Assign new values to variables in the executable
section.
• Pass values into PL/SQL blocks through
parameters.
• View results through output variables.
• Declare and initialize variables in the declaration
section.
• Assign new values to variables in the executable
section.
• Pass values into PL/SQL blocks through
parameters.
• View results through output variables.
Copyright © Oracle Corporation, 2001. All rights reserved.
1-9
Types of Variables
Types of Variables
• PL/SQL variables:
– Scalar
– Composite
– Reference
– LOB (large objects)
• Non-PL/SQL variables: Bind and host variables
• PL/SQL variables:
– Scalar
– Composite
– Reference
– LOB (large objects)
• Non-PL/SQL variables: Bind and host variables

×