Thursday 18 August 2011

SQL vs PL SQL




SQL (Structured Query Language) is
the standard language to write entry relational databases. SQL is simple
statements, which allows to retrieve, insert, delete, update records as
user needs. Simply it is data oriented language for selecting and
manipulating set of data. PL SQL (Procedural Language/Structured Query
Language) is a procedural extension language for data entry and
manipulation by Oracle.


“PL/SQL, Oracle’s procedural extension of SQL, is an advanced fourth-generation programming
language (4GL). It offers modern features such as data encapsulation,
overloading, collection types, exception handling, and information
hiding. PL/SQL also offers seamless SQL access, tight integration with
the Oracle server and tools, portability, and security.”


SQL


Structured query language (SQL)
pronounced as “sequel” is a database computer language designed for
managing data in relational database management systems (RDBMS), and
originally based upon relational algebra.


Basic scope of SQL is to insert data and
perform update, delete, schema creation, schema modification and data
access control against databases.


SQL has elements, sub-divided into the followings:


Queries
– Retrieve data, based on specific criteria. There are few keywords
which can be used in queries. (Select, From, Where, Having, Group by and
order by)


e.g: SELECT * FROM table1 WHERE column1 > condition ORDER BY column2;


Statements – That may control transactions, program flow, connections, sessions, or diagnostics


Expressions – That can produce either;


Scalar values


Tables consisting of columns and rows of data


Predicates -Specify conditions that can be evaluated to SQL Boolean (true/false/unknown)


Clauses – Constituent components of statements and queries


PL/SQL


PL/SQL (Procedural Language/Structured
Query Language) is Oracle Corporation’s procedural extension language
for SQL and the Oracle relational database. PL/SQL supports variables,
conditions, loops, arrays, exceptions. PL/SQL essentially code
containers can be complied in to the oracle databases. Software
developers can therefore implant PL/SQL units of functionality into the
database straight.


PL/SQL program units can be defined as follows:


Anonymous blocks


Forms the basis of simplest PL/SQL code


Functions


Functions are a
collection of SQL and PL/SQL statements. Functions execute a task and
should return a value to the calling environment.


Procedures


Procedures are alike
to Functions. Procedures also can be executed to perform work.
Procedures cannot be used in a SQL statement, can return multiple
values. In addition, functions can be called from SQL, while procedures
cannot.


Packages


Use of packages is
re-using of code. Packages are groups of theoretically linked Functions,
Procedures, Variable, PL/SQL table and record TYPE statements,
Constants & Cursors etc… Packages usually have two parts, a
specification and a body


Two advantages of packages include:


Modular approach, encapsulation of business logic


Using packages variables can declare in session levels


Types of variables in PL/SQL


Variables


Numeric variables


Character variables


Date variables


Data types for specific columns


Difference between SQL and PL/SQL


SQL is data oriented language for selecting and manipulating data but PL SQL is a procedural language to create applications.


SQL executes one statement at a time whereas in PL SQL block of code could be executed.


SQL is declarative where as PL SQL is procedural.


SQL is used to
write Queries, Data Manipulation Language (DML) and Data Definition
Language (DDL) whereas PL SQL is used to write Program blocks, Triggers,
Functions, Procedures, and Packages.


Recap:


SQL is structured query language. In SQL
various queries are used to handle the database in a simplified manner.
PL/SQL is procedural language contains various types of variable,
functions and procedures. SQL allows developer to issue single query or
execute single insert/update/delete at a time, while PL/SQL allows
writing complete program to get done several
selects/inserts/updates/deletes at a time. SQL is simple data oriented
language while PL/SQL programming language.

No comments:

Post a Comment