INTRODUCTION TO
PL/SQL
By:
Dheeraj Kashnyal
1
INTRODUCTION TO PL/SQL
• PROCEDURAL LANGUAGE EXTENSION FOR SQL
• ORACLE PROPRIETARY
• 3GL CAPABILITIES
• INTEGRATION OF SQL
• PORTABLE WITHIN ORACLE DATABASES
• CALLABLE FROM ANY CLIENT
2
STRUCTURE OF PL/SQL
3
PL/SQL is Block Structured –
A block is the basic unit from which all
PL/SQL programs are built. A block can be
named (functions and procedures) or
anonymous
Sections of block
1- Header Section
2- Declaration Section
3- Executable Section
4- Exception Section
STRUCTURE OF PL/SQL
HEADER
TYPE AND NAME OF BLOCK
DECLARE
VARIABLES; CONSTANTS; CURSORS;
BEGIN
PL/SQL AND SQL STATEMENTS
EXCEPTION
EXCEPTION HANDLERS
END;
4
EXERCISE 1 :
5
Let us test our basic SQL knowledge before we
move to actual PL/SQL insights:
1. Create a SQL query to show the current date in
the database.
2. Create a SQL query to show only “UN” from the
word “UNITED” as o/p.
STRUCTURE OF PL/SQL
DECLARE
A NUMBER;
TEXT1 VARCHAR2(20) := ‘HELLO';
TEXT2 VARCHAR2(20);
BEGIN
TEXT2 := ‘WORLD';
DBMS_OUTPUT.PUT_LINE('TEXT1 :'|| TEXT1);
DBMS_OUTPUT.PUT_LINE('TEXT2 :' || TEXT2);
DBMS_OUTPUT.PUT_LINE(TEXT1 ||' ' || TEXT2);
END;
“ Important Data Types in PL/SQL include NUMBER,
INTEGER, CHAR, VARCHAR2, DATE etc
to_date(‘02-05-2007','dd-mm-yyyy') { Converts
String to Date} “
6
DEBUGING
• SHOW ERROR;
• DBMS_OUTPUT.PUT_LINE(‘ .. ‘);
• SET SERVEROUTPUT ON;
• EXCEPTION BLOCKS;
7
EXERCISE 2:
• CREATE A PL/SQL BLOCK TO SHOW YOUR NAME ,DOJ &
EMP_ID IN THE O/P .
• CREATE A PL/SQL BLOCK TO CALCULATE YOUR EXPERIENCE
IN MONTHS.
8
STRUCTURE OF PL/SQL
• DATA TYPES FOR SPECIFIC COLUMNS
VARIABLE_NAME
TABLE_NAME.COLUMN_NAME%TYPE;
THIS SYNTAX DEFINES A VARIABLE OF THE TYPE
OF THE REFERENCED COLUMN ON THE
REFERENCED TABLE 9
PL/SQL CONTROL STRUCTURE
10
PL/SQL has several control structures
which include:
• Conditional controls
• Iterative or loop controls.
• Exception or error controls
It is these controls, used singly or
together, that allow the PL/SQL developer
to direct the flow of execution through
the program.
PL/SQL CONTROL STRUCTURE
• CONDITIONAL CONTROLS
IF....THEN....END IF;
IF....THEN...ELSE....END IF;
IF....THEN...ELSIF....THEN....ELSE....END IF;
11
PL/SQL CONTROL STRUCTURE
• LOOP
...SQL STATEMENTS...
EXIT;
END LOOP;
• WHILE LOOPS-
• WHILE CONDITION LOOP
...SQL STATEMENTS...
END LOOP;
• FOR LOOPS-
• FOR <VARIABLE(NUMERIC)> IN [REVERSE]
<LOWERBOUND>..<UPPERBOUND> LOOP .... ..... END
LOOP;
12
PL/SQL CONTROL STRUCTURE –
UPCOMING SESSIONS
• CURSOR
DECLARE
NAME VARCHAR2(20);
CURSOR C1 IS
SELECT T.NAME
FROM TABLE T
WHERE DATE IS NOT NULL;
BEGIN
OPEN C1;
LOOP
FETCH C1 INTO NAME;
EXIT WHEN C1%NOTFOUND;
END LOOP;
CLOSE C1;
END;
13
THANK YOU
14
Stay tuned for more
interactive learning
sessions...

Oracle_PLSQL_basic_tutorial_with_workon_Exercises.ppt

  • 1.
  • 2.
    INTRODUCTION TO PL/SQL •PROCEDURAL LANGUAGE EXTENSION FOR SQL • ORACLE PROPRIETARY • 3GL CAPABILITIES • INTEGRATION OF SQL • PORTABLE WITHIN ORACLE DATABASES • CALLABLE FROM ANY CLIENT 2
  • 3.
    STRUCTURE OF PL/SQL 3 PL/SQLis Block Structured – A block is the basic unit from which all PL/SQL programs are built. A block can be named (functions and procedures) or anonymous Sections of block 1- Header Section 2- Declaration Section 3- Executable Section 4- Exception Section
  • 4.
    STRUCTURE OF PL/SQL HEADER TYPEAND NAME OF BLOCK DECLARE VARIABLES; CONSTANTS; CURSORS; BEGIN PL/SQL AND SQL STATEMENTS EXCEPTION EXCEPTION HANDLERS END; 4
  • 5.
    EXERCISE 1 : 5 Letus test our basic SQL knowledge before we move to actual PL/SQL insights: 1. Create a SQL query to show the current date in the database. 2. Create a SQL query to show only “UN” from the word “UNITED” as o/p.
  • 6.
    STRUCTURE OF PL/SQL DECLARE ANUMBER; TEXT1 VARCHAR2(20) := ‘HELLO'; TEXT2 VARCHAR2(20); BEGIN TEXT2 := ‘WORLD'; DBMS_OUTPUT.PUT_LINE('TEXT1 :'|| TEXT1); DBMS_OUTPUT.PUT_LINE('TEXT2 :' || TEXT2); DBMS_OUTPUT.PUT_LINE(TEXT1 ||' ' || TEXT2); END; “ Important Data Types in PL/SQL include NUMBER, INTEGER, CHAR, VARCHAR2, DATE etc to_date(‘02-05-2007','dd-mm-yyyy') { Converts String to Date} “ 6
  • 7.
    DEBUGING • SHOW ERROR; •DBMS_OUTPUT.PUT_LINE(‘ .. ‘); • SET SERVEROUTPUT ON; • EXCEPTION BLOCKS; 7
  • 8.
    EXERCISE 2: • CREATEA PL/SQL BLOCK TO SHOW YOUR NAME ,DOJ & EMP_ID IN THE O/P . • CREATE A PL/SQL BLOCK TO CALCULATE YOUR EXPERIENCE IN MONTHS. 8
  • 9.
    STRUCTURE OF PL/SQL •DATA TYPES FOR SPECIFIC COLUMNS VARIABLE_NAME TABLE_NAME.COLUMN_NAME%TYPE; THIS SYNTAX DEFINES A VARIABLE OF THE TYPE OF THE REFERENCED COLUMN ON THE REFERENCED TABLE 9
  • 10.
    PL/SQL CONTROL STRUCTURE 10 PL/SQLhas several control structures which include: • Conditional controls • Iterative or loop controls. • Exception or error controls It is these controls, used singly or together, that allow the PL/SQL developer to direct the flow of execution through the program.
  • 11.
    PL/SQL CONTROL STRUCTURE •CONDITIONAL CONTROLS IF....THEN....END IF; IF....THEN...ELSE....END IF; IF....THEN...ELSIF....THEN....ELSE....END IF; 11
  • 12.
    PL/SQL CONTROL STRUCTURE •LOOP ...SQL STATEMENTS... EXIT; END LOOP; • WHILE LOOPS- • WHILE CONDITION LOOP ...SQL STATEMENTS... END LOOP; • FOR LOOPS- • FOR <VARIABLE(NUMERIC)> IN [REVERSE] <LOWERBOUND>..<UPPERBOUND> LOOP .... ..... END LOOP; 12
  • 13.
    PL/SQL CONTROL STRUCTURE– UPCOMING SESSIONS • CURSOR DECLARE NAME VARCHAR2(20); CURSOR C1 IS SELECT T.NAME FROM TABLE T WHERE DATE IS NOT NULL; BEGIN OPEN C1; LOOP FETCH C1 INTO NAME; EXIT WHEN C1%NOTFOUND; END LOOP; CLOSE C1; END; 13
  • 14.
    THANK YOU 14 Stay tunedfor more interactive learning sessions...