SlideShare a Scribd company logo
1 of 20
Outline
– PL/SQL
– Embedded SQL in a Programming
Language
• Example: Java
PL/SQL
Procedural Language Extension to
Sequential Query Language
CS 425: Database Organization
By: Abhay Daftari
daftabh@iit.edu
Note
• Today a Introduction to PL/SQL
• Tomorrow Lab-Session giving hands-on experience
with PL/SQL (Optional)
• Time: September 14, 2002
– 9:00 AM – 11:00 AM
• Location: SB112E
• Please get copies of “Getting Started with PL/SQL”
printed, from CourseInfo Website
PL/SQL - Outline
»Architecture
»PL/SQL Block
»Procedures
»Cursors
»Functions
»Triggers
Architecture
Application Using
SQL
Application Using
PL/SQL
PL/SQL Engine
SQL Statement
Processor
Your project might require you to work on PL/SQL
Or it might be optional. But you need to use PL/SQL
And Triggers in Your first Assignment.
DECLARE
/* Declarative section: variables, types, and local subprograms. */
BEGIN
/* Executable section: procedural and SQL statements go here. */
/* This is the only section of the block that is required. */
/*Programming Logic – IF, FOR, WHILE*/
EXCEPTION
/* Exception handling section: error handling statements go here. */
END;
PL/SQL Block Structure
Illustration
DECLARE
a NUMBER; b NUMBER;
BEGIN
SELECT e,f INTO a,b FROM T1 WHERE e>1;
IF b=1 THEN
INSERT INTO T1 VALUES(b,a);
ELSE
INSERT INTO T1 VALUES(b+10,a+10);
END IF;
END;
Procedures
These are the Database Objects. You can reuse them.
CREATE OR REPLACE PROCEDURE name (parameter)
AS
[local declarations]
BEGIN
executable statements;
[EXCEPTION
exception handlers]
END [name];
Cursors
• Cursors are memory areas that allow you to
allocate an area of memory and access the
information retrieved from a SQL statement
record by record.
Cursors - Illustration
DECLARE
CURSOR cursor_name IS Select….;
var_name cursor_name%ROWTYPE;
BEGIN
Open cursor_name;
Loop
FETCH cursor_name INTO var_name;
EXIT WHEN cursor_name%NOTFOUND;
--Programming Logic
END LOOP;
CLOSE cursor_name;
END;
Illustration
CREATE OR REPLACE PROCEDURE Discount
AS
CURSOR c_group_discount
IS
Select * from section;
BEGIN
FOR r_group_discount IN c_group_discount
LOOP
UPDATE course
SET cost = cost * .95
WHERE coutse_no = r_group_discount.course_no;
DBMS_OUTPUT.PUT_LINE
(‘A 5% discount has been given to’ ||
r_group_discount.course_no || ‘ ‘ ||
r_group_discount.description );
END LOOP;
END;
Functions
CREATE [OR REPLACE] FUNCTION name
(parameter list)
RETUREN data_type
IS
BEGIN
<body>
RETURN (return_value);
END;
Illustrations
CREATE OR REPLACE FUNCTION show_description (i_course_no
number)
RETURN varchar2
AS
v_description varchar2(50);
BEGIN
Select description
INTO v_description FROM course
WHERE course_no = i_course_no;
RETURN v_description;
END;
Triggers
What are Triggers?
• Procedures that execute implicitly when a
triggering event occurs.
Triggers continued
CREATE [OR REPLACE] TRIGGER trigger_name
{Before/After} trigger_event ON table_name
[FOR EACH ROW]
[WHEN condition]
DECLARE …
BEGIN …
EXCEPTION…
END;
Triggers Example
CREATE OR REPLACE TRIGGER student_bi
BEFORE INSERT ON student
FOR EACH ROW
DECLARE
v_student_id STUDENT.STUDENT_ID%TYPE;
BEGIN
SELECT STUDENT_ID_SEQ.NEXTVAL
INTO v_student_id
FROM dual;
:NEW.student_id := v_student_id;
:NEW.created_by := USER;
:NEW.created_date := SYSDATE;
:NEW.modified_date := SYSDATE;
END;
References
• Book – “Oracle PL/SQL” – Benjamin
Rosenzweig, Elena Silvestrova
• “Getting Started with PL/SQL” –
– http://ir.iit.edu/~nazli/StartingPLSQL.pdf
Embedded SQL in a
Programming Language
Example: JAVA
Example Program
import java.sql.*;
import java.math.*;
import java.io.*;
import java.awt.*;
class Test
{
public static void main ( String args[] ) throws SQLException{
DriverManager.registerDriver(new
oracle.jdbc.driver.OracleDriver());
Connection conn1
=DriverManager.getConnection("jdbc:oracle:thin:@babbage2.cs.iit.edu:
1521:cs","userid","password");
Statement stmt11 = conn1.createStatement(); // 1st Statement
off conn1
String sql = "SELECT * from test";
ResultSet rset11 = stmt11.executeQuery(sql);
while ( rset11.next() ) {
System.out.println("Result: " +
rset11.getString(1));
rset11.close();stmt11.close();conn1.close();
}
}
}
Reminders
• Start using courseinfo.iit.edu for all the
information regarding the course and
discussion board.
• If you have not enrolled onto it yet, make sure
you have yourself enrolled by today. Because
other web pages will not be updated
anymore.
• Assignment 1 – SQL Homework – Due Date:
September 27th no later than 1:40 pm.

More Related Content

Similar to PLSQLIntroduction.ppt

Similar to PLSQLIntroduction.ppt (20)

Drupal Best Practices
Drupal Best PracticesDrupal Best Practices
Drupal Best Practices
 
as
asas
as
 
plsql les06
 plsql les06 plsql les06
plsql les06
 
PL/SQL Fundamentals I
PL/SQL Fundamentals IPL/SQL Fundamentals I
PL/SQL Fundamentals I
 
Les09
Les09Les09
Les09
 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
 
L9 l10 server side programming
L9 l10  server side programmingL9 l10  server side programming
L9 l10 server side programming
 
chap 9 dbms.ppt
chap 9 dbms.pptchap 9 dbms.ppt
chap 9 dbms.ppt
 
plsql les02
 plsql les02 plsql les02
plsql les02
 
PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts
 
Oracle db subprograms
Oracle db subprogramsOracle db subprograms
Oracle db subprograms
 
DAC training-batch -2020(PLSQL)
DAC training-batch -2020(PLSQL)DAC training-batch -2020(PLSQL)
DAC training-batch -2020(PLSQL)
 
Procedure and Functions in pl/sql
Procedure and Functions in pl/sqlProcedure and Functions in pl/sql
Procedure and Functions in pl/sql
 
DBA Commands and Concepts That Every Developer Should Know
DBA Commands and Concepts That Every Developer Should KnowDBA Commands and Concepts That Every Developer Should Know
DBA Commands and Concepts That Every Developer Should Know
 
My sql udf,views
My sql udf,viewsMy sql udf,views
My sql udf,views
 
Plsql les04
Plsql les04Plsql les04
Plsql les04
 
PLSQL Tutorial
PLSQL TutorialPLSQL Tutorial
PLSQL Tutorial
 
PLSQL.pptx
PLSQL.pptxPLSQL.pptx
PLSQL.pptx
 
Les10
Les10Les10
Les10
 
SQL Procedures & Functions
SQL Procedures & FunctionsSQL Procedures & Functions
SQL Procedures & Functions
 

More from Semra D.

disaster management presentation.pptx
disaster management presentation.pptxdisaster management presentation.pptx
disaster management presentation.pptxSemra D.
 
5S present.pptx
5S present.pptx5S present.pptx
5S present.pptxSemra D.
 
sunum.pptx
sunum.pptxsunum.pptx
sunum.pptxSemra D.
 
LCA_-_of_concrete_with_construction_and_Demo_waste.pdf
LCA_-_of_concrete_with_construction_and_Demo_waste.pdfLCA_-_of_concrete_with_construction_and_Demo_waste.pdf
LCA_-_of_concrete_with_construction_and_Demo_waste.pdfSemra D.
 
4D_BIM_for_Construction_Planning_and_Environmental.pdf
4D_BIM_for_Construction_Planning_and_Environmental.pdf4D_BIM_for_Construction_Planning_and_Environmental.pdf
4D_BIM_for_Construction_Planning_and_Environmental.pdfSemra D.
 
Chicago Elite Construction Org Chart.ppt
Chicago Elite Construction Org Chart.pptChicago Elite Construction Org Chart.ppt
Chicago Elite Construction Org Chart.pptSemra D.
 
chapter13.ppt
chapter13.pptchapter13.ppt
chapter13.pptSemra D.
 
BIM-Seismic Resilience.pptx
BIM-Seismic Resilience.pptxBIM-Seismic Resilience.pptx
BIM-Seismic Resilience.pptxSemra D.
 
5687254.ppt
5687254.ppt5687254.ppt
5687254.pptSemra D.
 

More from Semra D. (9)

disaster management presentation.pptx
disaster management presentation.pptxdisaster management presentation.pptx
disaster management presentation.pptx
 
5S present.pptx
5S present.pptx5S present.pptx
5S present.pptx
 
sunum.pptx
sunum.pptxsunum.pptx
sunum.pptx
 
LCA_-_of_concrete_with_construction_and_Demo_waste.pdf
LCA_-_of_concrete_with_construction_and_Demo_waste.pdfLCA_-_of_concrete_with_construction_and_Demo_waste.pdf
LCA_-_of_concrete_with_construction_and_Demo_waste.pdf
 
4D_BIM_for_Construction_Planning_and_Environmental.pdf
4D_BIM_for_Construction_Planning_and_Environmental.pdf4D_BIM_for_Construction_Planning_and_Environmental.pdf
4D_BIM_for_Construction_Planning_and_Environmental.pdf
 
Chicago Elite Construction Org Chart.ppt
Chicago Elite Construction Org Chart.pptChicago Elite Construction Org Chart.ppt
Chicago Elite Construction Org Chart.ppt
 
chapter13.ppt
chapter13.pptchapter13.ppt
chapter13.ppt
 
BIM-Seismic Resilience.pptx
BIM-Seismic Resilience.pptxBIM-Seismic Resilience.pptx
BIM-Seismic Resilience.pptx
 
5687254.ppt
5687254.ppt5687254.ppt
5687254.ppt
 

Recently uploaded

The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 

Recently uploaded (20)

The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 

PLSQLIntroduction.ppt

  • 1. Outline – PL/SQL – Embedded SQL in a Programming Language • Example: Java
  • 2. PL/SQL Procedural Language Extension to Sequential Query Language CS 425: Database Organization By: Abhay Daftari daftabh@iit.edu
  • 3. Note • Today a Introduction to PL/SQL • Tomorrow Lab-Session giving hands-on experience with PL/SQL (Optional) • Time: September 14, 2002 – 9:00 AM – 11:00 AM • Location: SB112E • Please get copies of “Getting Started with PL/SQL” printed, from CourseInfo Website
  • 4. PL/SQL - Outline »Architecture »PL/SQL Block »Procedures »Cursors »Functions »Triggers
  • 5. Architecture Application Using SQL Application Using PL/SQL PL/SQL Engine SQL Statement Processor Your project might require you to work on PL/SQL Or it might be optional. But you need to use PL/SQL And Triggers in Your first Assignment.
  • 6. DECLARE /* Declarative section: variables, types, and local subprograms. */ BEGIN /* Executable section: procedural and SQL statements go here. */ /* This is the only section of the block that is required. */ /*Programming Logic – IF, FOR, WHILE*/ EXCEPTION /* Exception handling section: error handling statements go here. */ END; PL/SQL Block Structure
  • 7. Illustration DECLARE a NUMBER; b NUMBER; BEGIN SELECT e,f INTO a,b FROM T1 WHERE e>1; IF b=1 THEN INSERT INTO T1 VALUES(b,a); ELSE INSERT INTO T1 VALUES(b+10,a+10); END IF; END;
  • 8. Procedures These are the Database Objects. You can reuse them. CREATE OR REPLACE PROCEDURE name (parameter) AS [local declarations] BEGIN executable statements; [EXCEPTION exception handlers] END [name];
  • 9. Cursors • Cursors are memory areas that allow you to allocate an area of memory and access the information retrieved from a SQL statement record by record.
  • 10. Cursors - Illustration DECLARE CURSOR cursor_name IS Select….; var_name cursor_name%ROWTYPE; BEGIN Open cursor_name; Loop FETCH cursor_name INTO var_name; EXIT WHEN cursor_name%NOTFOUND; --Programming Logic END LOOP; CLOSE cursor_name; END;
  • 11. Illustration CREATE OR REPLACE PROCEDURE Discount AS CURSOR c_group_discount IS Select * from section; BEGIN FOR r_group_discount IN c_group_discount LOOP UPDATE course SET cost = cost * .95 WHERE coutse_no = r_group_discount.course_no; DBMS_OUTPUT.PUT_LINE (‘A 5% discount has been given to’ || r_group_discount.course_no || ‘ ‘ || r_group_discount.description ); END LOOP; END;
  • 12. Functions CREATE [OR REPLACE] FUNCTION name (parameter list) RETUREN data_type IS BEGIN <body> RETURN (return_value); END;
  • 13. Illustrations CREATE OR REPLACE FUNCTION show_description (i_course_no number) RETURN varchar2 AS v_description varchar2(50); BEGIN Select description INTO v_description FROM course WHERE course_no = i_course_no; RETURN v_description; END;
  • 14. Triggers What are Triggers? • Procedures that execute implicitly when a triggering event occurs.
  • 15. Triggers continued CREATE [OR REPLACE] TRIGGER trigger_name {Before/After} trigger_event ON table_name [FOR EACH ROW] [WHEN condition] DECLARE … BEGIN … EXCEPTION… END;
  • 16. Triggers Example CREATE OR REPLACE TRIGGER student_bi BEFORE INSERT ON student FOR EACH ROW DECLARE v_student_id STUDENT.STUDENT_ID%TYPE; BEGIN SELECT STUDENT_ID_SEQ.NEXTVAL INTO v_student_id FROM dual; :NEW.student_id := v_student_id; :NEW.created_by := USER; :NEW.created_date := SYSDATE; :NEW.modified_date := SYSDATE; END;
  • 17. References • Book – “Oracle PL/SQL” – Benjamin Rosenzweig, Elena Silvestrova • “Getting Started with PL/SQL” – – http://ir.iit.edu/~nazli/StartingPLSQL.pdf
  • 18. Embedded SQL in a Programming Language Example: JAVA
  • 19. Example Program import java.sql.*; import java.math.*; import java.io.*; import java.awt.*; class Test { public static void main ( String args[] ) throws SQLException{ DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); Connection conn1 =DriverManager.getConnection("jdbc:oracle:thin:@babbage2.cs.iit.edu: 1521:cs","userid","password"); Statement stmt11 = conn1.createStatement(); // 1st Statement off conn1 String sql = "SELECT * from test"; ResultSet rset11 = stmt11.executeQuery(sql); while ( rset11.next() ) { System.out.println("Result: " + rset11.getString(1)); rset11.close();stmt11.close();conn1.close(); } } }
  • 20. Reminders • Start using courseinfo.iit.edu for all the information regarding the course and discussion board. • If you have not enrolled onto it yet, make sure you have yourself enrolled by today. Because other web pages will not be updated anymore. • Assignment 1 – SQL Homework – Due Date: September 27th no later than 1:40 pm.