Home >> FAQs/Tutorials >> Oracle DBA FAQ >> Index

Oracle DBA FAQ - Introduction to PL/SQL

By: FYIcenter.com

Part:   1   2  3  4 

A collection of 17 FAQs to introduce PL/SQL language for DBA and developers. This FAQ can also be used as learning tutorials on creating procedures, executing procedures, using local variables, controlling execution flows, passing parameters and defining nested procedures. Topics included in this FAQ are:

  1. What Is PL/SQL?
  2. What Are the Types PL/SQL Code Blocks?
  3. How To Define an Anonymous Block?
  4. How Many Anonymous Blocks Can Be Defined?
  5. How To Run the Anonymous Block Again?
  6. What Is Stored Program Unit?
  7. How To Create a Stored Program Unit?
  8. How To Execute a Stored Program Unit?
  9. How Many Data Types Are Supported?
  10. What Are the Execution Control Statements?
  11. How To Use SQL Statements in PL/SQL?
  12. How To Process Query Result in PL/SQL?
  13. How To Create an Array in PL/SQL?
  14. How To Manage Transaction Isolation Level?
  15. How To Pass Parameters to Procedures?
  16. How To Define a Procedure inside Another Procedure?
  17. What Do You Think about PL/SQL?

Sample scripts used in this FAQ assumes that you are connected to the server with the HR user account on the default database instance XE. See other FAQ collections on how to connect to the server.

What Is PL/SQL?

PL/SQL is a modern, block-structured programming language. It provides several features that make developing powerful database applications very convenient. For example, PL/SQL provides procedural constructs, such as loops and conditional statements, that are not available in standard SQL.

PL/SQL code runs on the server, so using PL/SQL lets you centralize significant parts of your database applications for increased maintainability and security. It also enables you to achieve a significant reduction of network overhead in client/server applications.

What Are the Types PL/SQL Code Blocks?

There are 3 types of PL/SQL code blocks:

  • Anonymous Block - A block of codes with no name. It may contain a declaration part, an execution part, and exception handlers.
  • Stored Program Unit - A block of codes with a name. It is similar to an anonymous block. But it can take parameters and return values.
  • Trigger - A block of code that can be defined to fire based an specific event.

How To Define an Anonymous Block?

An anonymous block must have an execution part, which is a group of other PL/SQL statements enclosed in the BEGIN ... END statement. Here is a script on how to define a simple anonymous block with SQL*Plus:

SQL> set serveroutput on;

SQL> begin 
  2    dbms_output.put_line('Hello world!'); 
  3  end;
  4  /
Hello world!

PL/SQL procedure successfully completed.

"set serveroutput on;" allows dbms_output.put_line() to work.

"/" runs the anonymous block, which print the "Hello world!" message.

How Many Anonymous Blocks Can Be Defined?

An anonymous block is stored in the user's current session without any name. So you can only define one anonymous block at any time. If you define another anonymous block, the new block will replace the previously defined block, as shown in the following script:

SQL> set serveroutput on;

SQL> begin 
  2    dbms_output.put_line('Hello world!'); 
  3  end;
  4  /
Hello world!

PL/SQL procedure successfully completed.

SQL> begin 
  2    dbms_output.put_line('This is a PL/SQL FAQ.'); 
  3  end;
  4  /
This is a PL/SQL FAQ.

PL/SQL procedure successfully completed.

(Continued on next part...)

Part:   1   2  3  4 


Selected Developer Jobs:

More...