Axigma

Fechas y Registro

Fecha:

4 de enero del 2010 al 8 de enero del 2010

Horario

de 9 a 17 hs.

Duración del curso

5 días

Lugar

Buenos Aires, Argentina

Para más información:

eva.lupi@axigmatechnologies.com

Database 10g: Program with PL/SQL

Course Objectives

  • Schedule PL/SQL jobs to run independently
  • Manage dependencies between PL/SQL subprograms
  • Create stored procedures and functions
  • Design PL/SQL packages to group and contain related constructs
  • Create overloaded package subprograms for more flexibility
  • Categorize the Oracle supplied PL/SQL packages
  • Design PL/SQL program units that execute efficiently
  • Use PL/SQL programming constructs and conditional control statements
  • Handle run-time errors
  • Describe stored procedures and functions
  • Write dynamic SQL for more coding flexibility
  • Design PL/SQL code for predefined data types, local subprograms, additional programs and standardized constants and exceptions
  • Use the compiler warnings infrastructure
  • Write PL/SQL code to interface with the database
  • Manipulate large objects
  • Create triggers to solve business challenges

Learn To

  • Create Executable Section and write Control Structures
  • Create and manage Procedures, Functions, Packages, and Triggers
  • Work with Composite Data Types and cursors
  • Utilize Oracle-Supplied Packages in Application Development
  • Include Exception Handling
  • Manage Dependencies and Large Objects

Audience

  • Forms Developer
  • PL/SQL Developer
  • Database Designers
  • Technical Consultant
  • Database Administrators

Prerequisites

Required Prerequisites

Course Topics

Introduction to PL/SQL

  • What is PL/SQL
  • PL/SQL Environment
  • Benefits of PL/SQL
  • Overview of the Types of PL/SQL blocks
  • Create and Execute a Simple Anonymous Block
  • Generate Output from a PL/SQL Block
  • SQL Developer as PL/SQL Programming Environment

Declaring PL/SQL Identifiers

  • Identify the Different Types of Identifiers in a PL/SQL subprogram
  • Use the Declarative Section to Define Identifiers
  • List the Uses for Variables
  • Store Data in Variables
  • Declare PL/SQL Variables

Writing Executable Statements

  • Describe Basic Block Syntax Guidelines
  • Use Literals in PL/SQL
  • Customize Identifier Assignments with SQL Functions
  • Use Nested Blocks as Statements
  • Reference an Identifier Value in a Nested Block
  • Qualify an Identifier with a Label
  • Use Operators in PL/SQL
  • Use Proper PL/SQL Block Syntax and Guidelines

Interacting with the Oracle Server

  • Identify the SQL Statements You Can Use in PL/SQL
  • Include SELECT Statements in PL/SQL
  • Retrieve Data in PL/SQL with the SELECT Statement
  • Avoid Errors by Using Naming Conventions When Using Retrieval and DML Statements
  • Manipulate Data in the Server Using PL/SQL
  • The SQL Cursor concept
  • Use SQL Cursor Attributes to Obtain Feedback on DML
  • Save and Discard Transactions

Writing Control Structures

  • Control PL/SQL Flow of Execution
  • Conditional processing Using IF Statements
  • Conditional Processing CASE Statements
  • Handle Nulls to Avoid Common Mistakes
  • Build Boolean Conditions with Logical Operators
  • Use Iterative Control with Looping Statements

Working with Composite Data Types

  • Learn the Composite Data Types of PL/SQL Records and Tables
  • Use PL/SQL Records to Hold Multiple Values of Different Types
  • Inserting and Updating with PL/SQL Records
  • Use INDEX BY Tables to Hold Multiple Values of the Same Data Type

Using Explicit Cursors

  • Cursor FOR Loops Using Sub-queries
  • Increase the Flexibility of Cursors By Using Parameters
  • Use the FOR UPDATE Clause to Lock Rows
  • Use the WHERE CURRENT Clause to Reference the Current Row
  • Use Explicit Cursors to Process Rows
  • Explicit Cursor Attributes
  • Cursors and Records

Handling Exceptions

  • Handling Exceptions with PL/SQL
  • Predefined Exceptions
  • Trapping Non-predefined Oracle Server Errors
  • Functions that Return Information on Encountered Exceptions
  • Trapping User-Defined Exceptions
  • Propagate Exceptions
  • Use The RAISE_APPLICATION_ERROR Procedure To Report Errors To Applications

Creating Stored Procedures

  • Describe the block structure for PL/SQL stored procedures
  • Invoke a stored procedure/function from different tools
  • Call a stored procedure with host variables from SQL*Plus, Forms, Java, C, etc
  • Invoke a stored procedure from an anonymous block or another stored procedure
  • List the CREATE OR REPLACE PROCEDURE syntax
  • Identify the development steps for creating a stored procedure
  • Use the SHOW ERRORS command
  • View source code in the USER_SOURCE dictionary view

Creating Stored Functions

  • Describe stored functions
  • List the CREATE OR REPLACE FUNCTION syntax
  • Identify the steps to create a stored function
  • Execute a stored function
  • Identify the advantages of using stored functions in SQL statements
  • Identify the restrictions of calling functions from SQL statements
  • Remove a function

Creating Packages

  • List the advantages of packages
  • Describe packages
  • Show the components of a package Diagram the visibility of constructs within a package
  • Develop a package
  • Create the package specification
  • Declare public constructs
  • Create the package body

Using More Package Concepts

  • List the benefits of overloading
  • Show overloading example
  • Use forward declarations in packages
  • Create a one-time only procedure (package code initialization)
  • List the restrictions on package functions used in SQL
  • Encapsulate code in a package demonstration
  • Invoke a user-defined package function from a SQL statement
  • Utilize the persistent state of package variables

Utilizing Oracle Supplied Packages in Application Development

  • List the various uses for the Oracle supplied packages
  • Reuse pre-packaged code to complete various tasks from developer to DBA purposes
  • Use the DESCRIBE command to view the package specifications and overloading
  • Explain how DBMS_OUTPUT works (in conjunction with SET SERVEROUPUT ON)
  • Interact with operating system files with UTL_MAIL
  • Describe file processing with UTL_FILE
  • Review UTL_FILE routines and exceptions
  • Use UTL_FILE to generate a report to a file

Dynamic SQL and Metadata

  • Describe using native dynamic SQL
  • List the execution flow of SQL
  • Show the syntax for the EXECUTE IMMEDIATE statement for native dynamic SQL
  • Create a procedure to generate native dynamic SQL using EXECUTE IMMEDIATE to delete rows from a table
  • Describe the DBMS_SQL package
  • Provide an example of DBMS_SQL
  • List the advantages of using Native Dynamic SQL Over the DBMS_SQL package

Design Considerations for PL/SQL Code

  • Standardize constants with a constant package
  • Standardize exceptions with an exception handling package
  • Introduce local sub-programs
  • Use local sub-programs
  • Track run time errors with an exception package
  • Describe the NOCOPY compiler hint
  • Use the NOCOPY compiler hint
  • Explain the effects of NOCOPY

Managing Dependencies

  • Define dependent and referenced objects
  • Diagram dependencies with code, views, procedures, and tables
  • Manage local dependencies between a procedure, view, and a table
  • Analyze a scenario of local dependencies
  • Display direct dependencies using the USER_DEPENDENCIES view
  • Run the UTL_DTREE.SQL script to create objects that enable you to view direct and indirect dependencies
  • Predict the effects of changes on dependent objects

Manipulating Large Objects

  • Describe a LOB object
  • Diagram the anatomy of a LOB
  • Manage and list the features on internal LOBs
  • Describe, manage, and secure BFILEs
  • Create and use the DIRECTORY object to access and use BFILEs
  • Prepare BFILEs for usage
  • Use the BFILENAME function to load BFILEs
  • Describe the DBMS_LOB package

Creating Triggers

  • Describe the different types of triggers and how they execute
  • List the benefits and guidelines of using database triggers
  • Show how triggers are executed with a basic database trigger example
  • Show syntax and create DML triggers, and list the DML trigger components
  • Explain the firing sequence of triggers
  • Create a DML statement and row level triggers
  • Use the OLD and NEW qualifiers to reference column values
  • Use conditional predicates with triggers

Applications for Triggers

  • Create triggers for DDL events of CREATE, ALTER, and DROP
  • Create triggers for system events of SERVERERROR, STARTUP, SHUTDOWN, LOGON and LOGOFF
  • Define a mutating table
  • Describe business application scenarios for implementing with triggers
  • Describe the privileges required to manage triggers

Understanding and Influencing the PL/SQL Compiler

  • List the features of native compilation
  • Describe the features of the PL/SQL compiler in Oracle Database 10g
  • Identify the 3 parameters used to influence compilation (PLSQL_CODE_TYPE, PLSQL_DEBUG, PLSQL_OPTIMIZE_LEVEL)
  • Show how to set the parameters
  • Describe the dictionary view used to see how code is compiled (USER_PLSQL_OBJECTS)
  • Change the parameter settings, recompile code, and view the results
  • Describe the compiler warning infrastructure in Oracle Database 10g
  • List the steps used in setting compiler warning levels