Practical 14 Rdbms
Practical 14 Rdbms
Practical 14 Rdbms
Que. - What is PL/SQL? Explain Limitations of SQL and advantages of PL/SQL. Also explain structure of
PL/SQL block.
PL/SQL Introduction
PL/SQL stands for Procedural Language/Structured Query Language. It is a combination
of SQL with procedural features of programming language. . PL/SQL is a block structured
language that enables developers to combine the power of SQL with procedural statements. All
the statements of a block are passed to oracle engine all at once which increases processing
speed and decreases the traffic. PL/SQL combines the data-manipulating power of SQL with
the processing power of procedural languages. You can control program flow with statements
like IF and LOOP. As with other procedural programming languages, you can declare variables,
define procedures and functions, and trap runtime errors.
Limitations of SQL:
SQL doesn’t provide the programmers with a technique of condition checking, looping
and branching.
SQL statements are passed to Oracle engine one at a time which increases traffic
and decreases speed.
SQL has no facility of error checking during manipulation of data.
Features of PL/SQL:
PL/SQL is basically a procedural language, which provides the functionality of decision making,
iteration and many more features of procedural programming languages.
1. PL/SQL can execute a number of queries in one block using single command.
2. One can create a PL/SQL unit such as procedures, functions, packages, triggers, and
types, which are stored in the database for reuse by applications.
3. PL/SQL provides a feature to handle the exception which occurs in PL/SQL block known
as exception handling block.
4. Applications written in PL/SQL are portable to computer hardware or operating system
where Oracle is operational.
5. PL/SQL Offers extensive error checking.
The PL/SQL engine resides in the Oracle engine. The Oracle engine can process not
only single SQL statement but also block of many statements. The call to Oracle engine
needs to be made only once to execute any number of SQL statements if these SQL
statements are bundled inside a PL/SQL block.
Advantages of PL/SQL
SQL PL/SQL
SQL is a single query that is used to perform PL/SQL is a block of codes that used to write the
DML and DDL operations. entire program blocks/ procedure/ function, etc.
It is declarative, that defines what needs to be PL/SQL is procedural that defines how the things
Cannot contain PL/SQL code in it. It is an extension of SQL, so it can contain SQL
inside it.
Typically, each block performs a logical action in the program. A block has the following
structure:
DECLARE
declaration statements;
BEGIN
executable statements
EXCEPTIONS
exception handling statements
END;
Declare section starts with DECLARE keyword in which variables, constants, records as
cursors can be declared which stores data temporarily. It basically consists definition of
PL/SQL identifiers. This part of the code is optional.
Execution section starts with BEGIN and ends with END keyword. This is a mandatory
section and here the program logic is written to perform any task like loops and conditional
statements. It supports all DML commands, DDL commands and SQL*PLUS built-in
functions as well.
Exception section starts with EXCEPTION keyword. This section is optional which
contains statements that are executed when a run-time error occurs. Any exceptions can
be handled in this section.
PL/SQL identifiers
There are several PL/SQL identifiers such as variables, constants, procedures, cursors,
triggers etc.
1. Variables:
Like several other programming languages, variables in PL/SQL must be declared
prior to its use. They should have a valid name and data type as well.
Syntax for declaration of variables:
variable_name datatype [NOT NULL := value ];
Example to show how to declare variables in PL/SQL :
2. Displaying Output:
3. Using Comments:
Like in many other programming languages, in PL/SQL also, comments can be put
within the code which has no effect in the code. There are two syntaxes to create
comments in PL/SQL :
Single Line Comment: To create a single line comment , the symbol – – is
used.
Multi Line Comment: To create comments that span over several lines, the
symbol /* and */ is used.
Example to show how to create comments in PL/SQL :
SQL> SET SERVEROUTPUT ON;
SQL> DECLARE
-- I am a comment, so i will be ignored.
var varchar2(40) := 'I love My Mom' ;
BEGIN
dbms_output.put_line(var);
END;
/
Output:
I love My Mom
PL/SQL procedure successfully completed.
Just like in other programming languages, in PL/SQL also, we can take input from
the user and store it in a variable. Let us see an example to show how to take input
from users in PL/SQL:
--PL/SQL code to print sum of two numbers taken from the user.
SQL> SET SERVEROUTPUT ON;
SQL> DECLARE
-- taking input for variable a
a integer := &a ;
-- taking input for variable b
b integer := &b ;
c integer ;
BEGIN
c := a + b ;
dbms_output.put_line('Sum of '||a||' and '||b||' is = '||c);
END;
/
Enter value for a: 2
Enter value for b: 3
Sum of 2 and 3 is = 5