Monday, September 3, 2012

SQL vs PL\SQL

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
1.) SQL is a data oriented language for selecting and manipulating sets of data. PL/SQL is a procedural language to create applications.

2.) PL/SQL can be the application language just like Java or PHP can. PL/SQL might be the language we use to build, format and display those screens, web pages and reports.SQL may be the source of data for our screens, web pages and reports.

3.) SQL is executed one statement at a time. PL/SQL is executed as a block of code.

4.) SQL tells the database what to do (declarative), not how to do it. In contrast, PL/SQL tell the database how to do things (procedural).

5.) 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.

6.) We can embed SQL in a PL/SQL program, but we cannot embed PL/SQL within a SQL statement.

7.) SQL is a language that is used by relational database technologies such as Oracle, Microsoft Access, and Sybase etc., PL/SQL is commonly used to write data-centric programs to manipulate data in an Oracle database. PL/SQL language includes object oriented programming techniques such as encapsulation, function overloading, and information hiding (all but inheritance).
 

No comments:

Post a Comment