Instructions to Oracle identifying the information you wish to select, insert, delete or update SQL*Plus is Oracle's version of the SQL standard Notes on SQL are on Blackboard
PL/SQL - introduction
Procedural extension allowing for modularity, variable declaration, loops and logical constructs. Allows for advanced error handling Communicates natively with other oracle database objects. Managed centrally within the Oracle database.
Other
Databases
All have procedural facilities
SQL is not functionally complete
Lacks full facilities of a programming language
So top up functionality by embedding SQL in a procedural language
PL/SQL techniques are specific to Oracle
but procedures and functions can be ported to other systems
Why
use PL/SQL
Manage business rules ± through middle layer application logic.
Allows extraction of data into variables and its subsequent manipulation
Modules in PL/SQL There are 4 types of modules in PL/SQL Procedures ± series of statements may or may
not return a value Functions ± series of statements must return a single value Triggers ± series of PL/SQL statements (actions) executing after an event has triggered a condition (ECA) Packages ± collection of procedures and function that has 2 parts:
a listing and a body.
Procedures Creation command
Create or replace procedure sample1 as
Variable declarations
v_num1 constant number := 2.5; v_num2 constant number := 4; v_product number; BEGIN
Body of code
v_product := v_num1 * v_num2; END;
Use of Data-Types
Number ± used to store any number Char(size) & varchar2(size) e.g.: char(10) ± used to store alphanumerical text strings, the char data type will pad the value stored to the full length declared. Date ± used to store dates Long ± used to store large blocks of text up to 2 gigabytes in length (limited operations)
More data-types
Long raw ± stores large blocks of data stored in binary format
Raw
Rowid
± stores smaller blocks of data in binary formal ± used to store the special format of rowid¶s on the database
Non-database Data Types
DEC, DECIMAL, REAL, INTEGER, INT ± these are numerical data types that are a subset of number. Binary_integer ± binary format for number type but can not be stored in database unless con verted first.
Character ± same as char
Boolean ± true/false value
Table/record ± tables can be used to store the equi valent of an array while records store the variables with composite data types.
Using SQL in procedures
Select values into PL/SQL variables
using INTO
Record.element
%rowtype
notation will address components of tuples (dot notation) allows full rows to be selected into one variable
V_employee employee%rowtype
Empid
empname addr1
addr2
addr3
postcode
grade
salary
Example Declare
v_employee
employee%rowtype;
Begin select *
Selects entire row of data into 1 variable called v_employee
into v_employee from employee where empid = 65284;
update employee set salary = v_employee.salary + 10000 where empid = v_employee.empid; end
Is updating the value of salary based on selected element of a variable
Cursor overview
Very powerful in PL/SQL modules
Allows more than one set of data to be retrieved and accessed at the same time in loops
Sets are created by executing SQL statements embedded in the PL/SQL code
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.