SlideShare uma empresa Scribd logo
1 de 22
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Introduction to PL SQL Online Training Classes 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Function 
• Is a block with a name 
• Returns one value only. 
• The DECLARE key word is not used 
• Parameters can only be IN 
• Is stored 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Creating or Replacing a Function 
CREATE OR REPLACE FUNCTION fname( ) 
RETURN datatype IS 
BEGIN 
EXECPTION 
END; 
/ 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Creating or Replacing a Function 
CREATE OR REPLACE FUNCTION sum_dept_sal(p_deptno IN NUMBER) 
RETURN emp.sal%TYPE IS 
v_sum_sal emp.sal%TYPE; 
BEGIN 
SELECT SUM(sal) 
INTO v_sum_sal 
FROM emp 
WHERE deptno = p_deptno; 
RETURN v_sum_sal; 
END; 
/ 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Invoking a Function 
SET SERVEROUTPUT ON; 
DECLARE 
… 
v_sal emp.sal%TYPE; 
… 
BEGIN 
… 
v_sal := sum_dept_sal(10); 
DBMS_OUTPUT.PUT_LINE(TO_CHAR(v_sal)); 
… 
END; 
/ 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Example, passing parameters 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Exercise 
• Write down a procedure that displays all 
records (all columns) from EMP table. Make 
sure program should restricted to fix number 
of records of this table. Display Date and TIME 
portions of column that has data type DATE. 
• Write down a procedure that can insert large 
number of records entered at the time of its 
execution. You can use EMP table and 
appending counter with some columns’ values 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Packages 
• Package 
– Package Specification 
– Package Body 
• Invoking Package subprogram 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.u 
Package Specification 
CREATE OR REPLACE PACKAGE emp_info is 
v_count INTEGER; 
PROCEDURE insert_record( p_empno IN NUMBER 
, p_ename IN VARCHAR2 
, p_job IN VARCHAR2 
, p_sal IN NUMBER 
, p_co.ukm IN NUMBER 
, p_deptno IN VARCHAR2); 
PROCEDURE delete_record(p_empno IN NUMBER); 
FUNCTION sum_dept_sal( p_deptno IN dept.deptno%TYPE) RETURN is dept.sal%TYPE; 
END emp_info; 
/ 
k 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Package Body 
CREATE OR REPLACE PACKAGE BODY emp_info is` 
PROCEDURE insert_record(p_empno IN NUMBER,p_ename IN VARCHAR2, 
p_job IN VARCHAR2,p_sal IN NUMBER, 
p_co.ukm IN NUMBER,p_deptno IN VARCHAR2) IS 
BEGIN 
INSERT INTO EMP(empno,ename,job,sal,co.ukm,deptno) 
VALUES(p_empno,p_ename,p_job,p_sal,p_co.ukm,p_deptno); 
END insert_record; 
PROCEDURE delete_record(p_empno IN NUMBER) IS 
BEGIN 
DELETE FROM EMP 
WHERE empno=p_empno; 
END delete_record; 
FUNCTION sum_dept_sal(p_deptno IN NUMBER) RETURN emp.sal%TYPE IS 
v_sum_sal emp.sal%TYPE; 
BEGIN 
SELECT SUM(sal) 
INTO v_sum_sal 
FROM emp 
WHERE deptno = p_deptno; 
RETURN v_sum_sal; 
END; 
END emp_info; --end of package body 
/ 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Invoking Package Subprogram 
DECLARE 
v_sum_sal emp.sal%TYPE; 
BEGIN 
… 
v_sum_sal := emp_info.sum_dept_sal(10); 
… 
emp_info.delete_record(1234567); 
… 
END; 
/ 
Or 
SQL> exec emp_info.insert_record(…,…) 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Triggers 
• Is a stored subprogram associated with a 
table. 
• Are fired by an event 
• Are mainly used for 
– Security 
– Enforce co.ukplex integrity constraint 
– Prevent invalid transaction 
– Event logging 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Creating or Replacing Triggers 
CREATE OR REPLACE TRIGGER del_emp( p_empno emp.empno%TYPE) 
BEFORE DELETE ON emp 
FOR EACH ROW 
BEGIN 
INSERT INTO emp_audit 
VALUES(p_empno, USER, sysdate); 
END; 
/ 
info@quontrasolutions.co.uk
Trigger with function usage Example
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Exercise 
Write a trigger for the following: 
When a record is added or deleted from an 
employee table, DEPT.NoOfEmp column gets 
updated accordingly to number of employees 
in EMP table corresponding to department 
number. 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Cursors 
• Is a pointer to a row. 
• Its is mainly used with tables which return 
more than one row. 
• It is handled implicitly and explicitly. 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Cusrors 
CURSOR c_emp IS 
SELECT empno, ename, job 
FROM emp 
WHERE deptno = 20; 
7369 Smith Clerk 
7566 Jones Manager current row 
7788 SCOTT Analyst 
7876 Adams Clerk 
7906 FORD Analyst 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Cursors 
DECLARE 
CURSOR c_emp IS 
SELECT empno, ename, job 
FROM emp 
WHERE deptno = 20; 
BEGIN 
FOR v_c IN c_emp LOOP 
… 
DBMS_OUTPUT.PUT_LINE(v_c.ename); 
… 
END LOOP; 
… 
end; 
/ 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Example 
• Given a table with first 
three columns are 
co.ukposite keys. Write 
a PL/SQL program using 
cursor to update 
cat_template1 with 
LONG column 
cat_template. Assuming 
this tables contains 
more than 40,000 
records. 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Example’s solution 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Dynamic SQL 
begin 
execute immediate 'create table tt(id 
number(3))'; 
end; 
/ 
info@quontrasolutions.co.uk
www.quontrasolutions.co.uk info@quontrasolutions.co.uk 
Visit: http://www.quontrasolutions.co.uk/ 
Email: info@quontrasolutions.co.uk 
Call Now : (20)-3734-1498. (UK) 
info@quontrasolutions.co.uk 
Contd…

Mais conteúdo relacionado

Mais de Quontra Solutions

Automation with Selenium Presented by Quontra Solutions
Automation with Selenium Presented by Quontra SolutionsAutomation with Selenium Presented by Quontra Solutions
Automation with Selenium Presented by Quontra Solutions
Quontra Solutions
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
Quontra Solutions
 
Network security by quontra solutions uk
Network security by quontra solutions ukNetwork security by quontra solutions uk
Network security by quontra solutions uk
Quontra Solutions
 
Informatica Metadata Exchange Frequently Asked Questions by Quontra Solutions
Informatica Metadata Exchange Frequently Asked Questions by Quontra SolutionsInformatica Metadata Exchange Frequently Asked Questions by Quontra Solutions
Informatica Metadata Exchange Frequently Asked Questions by Quontra Solutions
Quontra Solutions
 
Informatica metadata exchange frequently asked questions by quontra solutions
Informatica metadata exchange frequently asked questions by quontra solutionsInformatica metadata exchange frequently asked questions by quontra solutions
Informatica metadata exchange frequently asked questions by quontra solutions
Quontra Solutions
 
Dataware house Introduction By Quontra Solutions
Dataware house Introduction By Quontra SolutionsDataware house Introduction By Quontra Solutions
Dataware house Introduction By Quontra Solutions
Quontra Solutions
 

Mais de Quontra Solutions (10)

Enterprise java beans
Enterprise java beansEnterprise java beans
Enterprise java beans
 
Automation with Selenium Presented by Quontra Solutions
Automation with Selenium Presented by Quontra SolutionsAutomation with Selenium Presented by Quontra Solutions
Automation with Selenium Presented by Quontra Solutions
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
 
DataMining and OLAP Technology Concepts Presented By Quontra Solutions
DataMining and OLAP Technology Concepts Presented By Quontra SolutionsDataMining and OLAP Technology Concepts Presented By Quontra Solutions
DataMining and OLAP Technology Concepts Presented By Quontra Solutions
 
Network security by quontra solutions uk
Network security by quontra solutions ukNetwork security by quontra solutions uk
Network security by quontra solutions uk
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutions
 
Informatica Metadata Exchange Frequently Asked Questions by Quontra Solutions
Informatica Metadata Exchange Frequently Asked Questions by Quontra SolutionsInformatica Metadata Exchange Frequently Asked Questions by Quontra Solutions
Informatica Metadata Exchange Frequently Asked Questions by Quontra Solutions
 
Informatica metadata exchange frequently asked questions by quontra solutions
Informatica metadata exchange frequently asked questions by quontra solutionsInformatica metadata exchange frequently asked questions by quontra solutions
Informatica metadata exchange frequently asked questions by quontra solutions
 
Dataware house Introduction By Quontra Solutions
Dataware house Introduction By Quontra SolutionsDataware house Introduction By Quontra Solutions
Dataware house Introduction By Quontra Solutions
 
Selenium overview ppt by quontra solutions
Selenium overview ppt by quontra solutionsSelenium overview ppt by quontra solutions
Selenium overview ppt by quontra solutions
 

Último

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Último (20)

Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 

Introduction to pl sql online training classes part 4