SlideShare a Scribd company logo
SQL Procedures & Functions
Procedures
A procedure is a named PL/SQL block which performs one or more specific task. This is similar to a
procedure in other programming languages. A procedure has a header and a body.
The header consists of the name of the procedure and the parameters or variables passed to the
procedure.
The body consists or declaration section, execution section and exception section similar to a general
PL/SQL Block. A procedure is similar to an anonymous PL/SQL Block but it is named for repeated usage.
We can pass parameters to procedures in three ways :
Parameters Description
IN type These types of parameters are used to send values to stored procedures.
OUT type These types of parameters are used to get values from stored procedures. This is
similar to a return type in functions.
IN OUT type These types of parameters are used to send values and get values from stored
procedures.
A procedure may or may not return any value.
Syntax:
CREATE [OR REPLACE] PROCEDURE procedure_name (<Argument> {IN, OUT, IN
OUT}<Datatype>,…)
IS
Declaration section<variable, constant> ;
BEGIN
Execution section
EXCEPTION
Exception section
END
IS - marks the beginning of the body of the procedure and is similar to DECLARE in anonymous PL/SQL
Blocks. The code between IS and BEGIN forms the Declaration section.
The syntax within the brackets [ ] indicate they are optional. By using CREATE OR REPLACE together the
procedure is created if no other procedure with the same name exists or the existing procedure is
replaced with the current code.
How to execute a Procedure?
There are two ways to execute a procedure :
● From the SQL prompt : EXECUTE [or EXEC] procedure_name;
● Within another procedure – simply use the procedure name : procedure_name;
Example:
create table named emp have two column id and salary with number datatype.
CREATE OR REPLACE PROCEDURE p1(id IN NUMBER, sal IN NUMBER)
AS
BEGIN
INSERT INTO emp VALUES(id, sal);
DBMD_OUTPUT.PUT_LINE('VALUE INSERTED.');
END;
/
Output:
Functions:
A function is a named PL/SQL Block which is similar to a procedure. The major difference between a
procedure and a function is, a function must always return a value, but a procedure may or may not
return a value.
Syntax:
CREATE [OR REPLACE] FUNCTION function_name [parameters]
RETURN return_datatype; {IS, AS}
Declaration_section <variable,constant> ;
BEGIN
Execution_section
Return return_variable;
EXCEPTION
exception section
Return return_variable;
END;
RETURN TYPE: The header section defines the return type of the function. The return datatype can be any
of the oracle datatype like varchar, number etc.
The execution and exception section both should return a value which is of the datatype defined in the
header section.
How to execute a Function?
A function can be executed in the following ways.
● As a part of a SELECT statement : SELECT emp_details_func FROM dual;
● In a PL/SQL Statements like, : dbms_output.put_line(emp_details_func);
This line displays the value returned by the function .
Example:
create or replace function getsal (no IN number) return number
is
sal number(5);
begin
select salary into sal from emp where id=no;
return sal;
end;
/
Output:
In the example we are retrieving the ‘salary’ of employee with id 2 to variable ‘sal’.
The return type of the function is number.
Destroying procedure and function :
Syntax:
DROP PROCEDURE/FUNCTION PROCEDURE/FUNCTION_NAME;
Procedures VS Functions:
● A function MUST return a value
● A procedure cannot return a value
● Procedures and functions can both return data in OUT and IN OUT parameters
● The return statement in a function returns control to the calling program and returns the results
of the function
● The return statement of a procedure returns control to the calling program and cannot return a
value
● Functions can be called from SQL, procedure cannot
● Functions are considered expressions, procedure are not

More Related Content

Similar to SQL Procedures & Functions (20)

PPTX
Oracle: Procedures
DataminingTools Inc
 
PPTX
Oracle: Procedures
oracle content
 
PPTX
Function
Sherin Fathima
 
PPS
Procedures/functions of rdbms
jain.pralabh
 
PPT
PLSQL
Shubham Bammi
 
ODP
Open Gurukul Language PL/SQL
Open Gurukul
 
PPT
Module04
Sridhar P
 
PPTX
pl/sql Procedure
Pooja Dixit
 
PPTX
9. DBMS Experiment Laboratory PresentationPPT
TheVerse1
 
PPTX
PL_SQL - II.pptx
priyaprakash11
 
PPTX
Understanding pass by value and pass by reference is essential for effective ...
LuisAntonioCornejoOl
 
PPT
plsql.ppt
faizan992426
 
PPTX
ch5-Advanced SQL_ database management .pptx
HakimAlHuribi
 
PPTX
ADVANCED MODELLING.pptx
RUPAK BHATTACHARJEE
 
PPTX
Unit 3(rdbms)
Jay Patel
 
PPTX
Unit 3(rdbms)
Jay Patel
 
PPTX
Sql tutorial
prabhu rajendran
 
ODP
Mysqlppt
Reka
 
PPTX
PLSQL.pptx
git21is061t
 
PPT
Chapter 05 (Built-in SQL Functions) functions
sexev23635
 
Oracle: Procedures
DataminingTools Inc
 
Oracle: Procedures
oracle content
 
Function
Sherin Fathima
 
Procedures/functions of rdbms
jain.pralabh
 
Open Gurukul Language PL/SQL
Open Gurukul
 
Module04
Sridhar P
 
pl/sql Procedure
Pooja Dixit
 
9. DBMS Experiment Laboratory PresentationPPT
TheVerse1
 
PL_SQL - II.pptx
priyaprakash11
 
Understanding pass by value and pass by reference is essential for effective ...
LuisAntonioCornejoOl
 
plsql.ppt
faizan992426
 
ch5-Advanced SQL_ database management .pptx
HakimAlHuribi
 
ADVANCED MODELLING.pptx
RUPAK BHATTACHARJEE
 
Unit 3(rdbms)
Jay Patel
 
Unit 3(rdbms)
Jay Patel
 
Sql tutorial
prabhu rajendran
 
Mysqlppt
Reka
 
PLSQL.pptx
git21is061t
 
Chapter 05 (Built-in SQL Functions) functions
sexev23635
 

More from JeevananthamArumugam (10)

PDF
Advanced Encryption Standard - AES
JeevananthamArumugam
 
PDF
Classical Encryption Techniques
JeevananthamArumugam
 
PDF
Data Encryption Standard
JeevananthamArumugam
 
PDF
Square and Multiply - Shortcut Method
JeevananthamArumugam
 
PDF
Chinese Reminder Theorem
JeevananthamArumugam
 
PDF
Euler's Theorem
JeevananthamArumugam
 
PDF
NCC | General Subject | Public speaking
JeevananthamArumugam
 
PDF
NCC | General Subject | Communication Skills | Year II
JeevananthamArumugam
 
PDF
CNS - Chapter1
JeevananthamArumugam
 
PDF
IoT - Scope and Opportunities
JeevananthamArumugam
 
Advanced Encryption Standard - AES
JeevananthamArumugam
 
Classical Encryption Techniques
JeevananthamArumugam
 
Data Encryption Standard
JeevananthamArumugam
 
Square and Multiply - Shortcut Method
JeevananthamArumugam
 
Chinese Reminder Theorem
JeevananthamArumugam
 
Euler's Theorem
JeevananthamArumugam
 
NCC | General Subject | Public speaking
JeevananthamArumugam
 
NCC | General Subject | Communication Skills | Year II
JeevananthamArumugam
 
CNS - Chapter1
JeevananthamArumugam
 
IoT - Scope and Opportunities
JeevananthamArumugam
 
Ad

Recently uploaded (20)

PPTX
How to Create Odoo JS Dialog_Popup in Odoo 18
Celine George
 
PPTX
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
PPTX
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
PPTX
Introduction to Indian Writing in English
Trushali Dodiya
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PPTX
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 
PDF
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PPTX
Introduction to Biochemistry & Cellular Foundations.pptx
marvinnbustamante1
 
PDF
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
PDF
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
PPTX
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
PDF
Horarios de distribución de agua en julio
pegazohn1978
 
PDF
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
PPTX
How to Create a Customer From Website in Odoo 18.pptx
Celine George
 
PPTX
TRANSLATIONAL AND ROTATIONAL MOTION.pptx
KIPAIZAGABAWA1
 
PDF
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
PDF
STATEMENT-BY-THE-HON.-MINISTER-FOR-HEALTH-ON-THE-COVID-19-OUTBREAK-AT-UG_revi...
nservice241
 
PDF
Introduction presentation of the patentbutler tool
MIPLM
 
PDF
AI-Powered-Visual-Storytelling-for-Nonprofits.pdf
TechSoup
 
How to Create Odoo JS Dialog_Popup in Odoo 18
Celine George
 
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
Introduction to Indian Writing in English
Trushali Dodiya
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
Introduction to Biochemistry & Cellular Foundations.pptx
marvinnbustamante1
 
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
Horarios de distribución de agua en julio
pegazohn1978
 
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
How to Create a Customer From Website in Odoo 18.pptx
Celine George
 
TRANSLATIONAL AND ROTATIONAL MOTION.pptx
KIPAIZAGABAWA1
 
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
STATEMENT-BY-THE-HON.-MINISTER-FOR-HEALTH-ON-THE-COVID-19-OUTBREAK-AT-UG_revi...
nservice241
 
Introduction presentation of the patentbutler tool
MIPLM
 
AI-Powered-Visual-Storytelling-for-Nonprofits.pdf
TechSoup
 
Ad

SQL Procedures & Functions

  • 1. SQL Procedures & Functions Procedures A procedure is a named PL/SQL block which performs one or more specific task. This is similar to a procedure in other programming languages. A procedure has a header and a body. The header consists of the name of the procedure and the parameters or variables passed to the procedure. The body consists or declaration section, execution section and exception section similar to a general PL/SQL Block. A procedure is similar to an anonymous PL/SQL Block but it is named for repeated usage. We can pass parameters to procedures in three ways : Parameters Description IN type These types of parameters are used to send values to stored procedures. OUT type These types of parameters are used to get values from stored procedures. This is similar to a return type in functions. IN OUT type These types of parameters are used to send values and get values from stored procedures. A procedure may or may not return any value.
  • 2. Syntax: CREATE [OR REPLACE] PROCEDURE procedure_name (<Argument> {IN, OUT, IN OUT}<Datatype>,…) IS Declaration section<variable, constant> ; BEGIN Execution section EXCEPTION Exception section END IS - marks the beginning of the body of the procedure and is similar to DECLARE in anonymous PL/SQL Blocks. The code between IS and BEGIN forms the Declaration section. The syntax within the brackets [ ] indicate they are optional. By using CREATE OR REPLACE together the procedure is created if no other procedure with the same name exists or the existing procedure is replaced with the current code. How to execute a Procedure? There are two ways to execute a procedure : ● From the SQL prompt : EXECUTE [or EXEC] procedure_name; ● Within another procedure – simply use the procedure name : procedure_name; Example: create table named emp have two column id and salary with number datatype. CREATE OR REPLACE PROCEDURE p1(id IN NUMBER, sal IN NUMBER) AS BEGIN INSERT INTO emp VALUES(id, sal); DBMD_OUTPUT.PUT_LINE('VALUE INSERTED.'); END; / Output:
  • 3. Functions: A function is a named PL/SQL Block which is similar to a procedure. The major difference between a procedure and a function is, a function must always return a value, but a procedure may or may not return a value. Syntax: CREATE [OR REPLACE] FUNCTION function_name [parameters] RETURN return_datatype; {IS, AS} Declaration_section <variable,constant> ; BEGIN Execution_section Return return_variable; EXCEPTION exception section Return return_variable; END; RETURN TYPE: The header section defines the return type of the function. The return datatype can be any of the oracle datatype like varchar, number etc. The execution and exception section both should return a value which is of the datatype defined in the header section. How to execute a Function? A function can be executed in the following ways. ● As a part of a SELECT statement : SELECT emp_details_func FROM dual; ● In a PL/SQL Statements like, : dbms_output.put_line(emp_details_func); This line displays the value returned by the function .
  • 4. Example: create or replace function getsal (no IN number) return number is sal number(5); begin select salary into sal from emp where id=no; return sal; end; / Output: In the example we are retrieving the ‘salary’ of employee with id 2 to variable ‘sal’. The return type of the function is number. Destroying procedure and function : Syntax: DROP PROCEDURE/FUNCTION PROCEDURE/FUNCTION_NAME; Procedures VS Functions: ● A function MUST return a value ● A procedure cannot return a value ● Procedures and functions can both return data in OUT and IN OUT parameters ● The return statement in a function returns control to the calling program and returns the results of the function ● The return statement of a procedure returns control to the calling program and cannot return a value ● Functions can be called from SQL, procedure cannot ● Functions are considered expressions, procedure are not