SlideShare a Scribd company logo
What is a Function in PL/SQL?
A function are named PL/SQL Block.It 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.
Structure of Function
stored functions 3 sections
1.declaration section-declaration of variables and
constants
2.executable section-pl/sql statements which
perform specific task
3.exception handling section-the error occuring
in executable part can be handled in this section
CREATE [OR REPLACE] FUNCTION function_name
[ (parameter [,parameter]) ]
RETURN return_datatype
IS | AS
[declaration_section]
BEGIN
executable_section
[EXCEPTION
exception_section]
END [function_name];
CREATE [OR REPLACE] FUNCTION fa(m number)
RETURN number
IS
f number:=1;
BEGIN
for I in 1….m
Loop
F:=f*I;
End loop;
return f;
End;
TwoTypes Functions
Single-row
functions
Multiple-row
functions
Return one result
per row
Return one result
per set of rows
Functions
Single row functions return a single result
per every row. There are different types of
single-row functions.
Conversion
Character
Number
Date
General
Single-row
functions
Character
functions
LOWER
UPPER
INITCAP
CONCAT
SUBSTR
LENGTH
INSTR
LPAD | RPAD
TRIM
REPLACE
Case-manipulation
functions
1) Character or Text Functions: Character functions
accept character input and can return both character
and number values.
Character-manipulation
functions
1.LOWER
The Lower function converts the character values into
lowercase letters
.
2. UPPER
The Upper function converts the character values into
uppercase letters.
3. INITCAP
The Initcap function coverts the first character of each
word into uppercase and the remaining characters into
lowercase.
.
.
Character-manipulation functions
1.CONCAT
The Concat function coverts the first string
with the second string
2. SUBSTR
The Substr function returns specified characters
from character value starting at position m and n
characters long. If you omit n, all characters starting
from position m to the end are returned.
3.LENGTH
The Length function is used to find the number of
characters in a string
4.RPAD
The Rpad function pads the character value left-justified
to a total width of n character positions.
5.TRIM
The Trim function removes the leading or trailing or both
the characters from a string.
6.REPLACE
The Replace function is used to replace a
character with another Character in a string.
2) Numeric Functions:
Numeric functions accept numeric input and return
numeric values.
ROUND
TRUNC
Numeric functions
3) Date Functions:
Date functions operate on DATE.
Date function
MONTHS_BETWEEN
ADD_MONTHS
NEXT_DAY
LAST_DAY
Explicit data
type conversion
Data type conversion
Implicit data type
conversion
4) Conversion Functions:
Conversion functions convert a value from one
datatype to another.
EXAMPLE
sql>create table stu1(
name varchar2(8),
regno varchar2(10)
mark number(6,2),
DOB date
);
Table created.
SQL> desc stu1;
Name Null? Type
----------------------------------------- -------- --------------
NAME VARCHAR2(8)
REGNO VARCHAR2(10)
DOB DATE
Mark NUMBER
SQL> insert into stuu2 values(&name,&regno,&dob,&mark);
Enter value for name: 'xx'
Enter value for regno: '13sms01'
Enter value for dob: '27-apr-2013'
Enter value for mark: 78.23
old 1: insert into stuu2 values(&name,&regno,&dob,&mark)
new 1: insert into stuu2 values('xx','13sms01','27-apr-
2013',78.23)
1 row created.
SQL> /
Enter value for name: 'yy'
Enter value for regno: '13sms02'
Enter value for dob: '24-jan-2012'
Enter value for mark: 89.78
old 1:
insert into stuu2 values(&name,&regno,&dob,&mark)
new 1: insert into stuu2 values('yy','13sms02','24-jan-
2012',89.78)
1 row created.
SQL> select*from stu1;
NAME REGNO DATE MARK
-------- ---------- ----------------- ------------------
xx 13sms01 27-apr-2013 78.23
yy 13sms02 24-jan-2012 89.78
CASE-MANIPULATION FUNCTION
SQL> select
2 lower(name),upper(name),initcap(name) from stu1;
LOWER(NA UPPER(NA INITCAP(
-------- -------- --------
xx XX Xx
yy YY Yy
CHARACTER MANIPULATION FUNCTION
SQL> select concat(name,regno),
substr(regno,3,2),
length(name),
rpad(regno,10,'*')RPAD,
lpad(regno,10,'*')LPAD,
replace(regno,‘sms','ma')"replace”from stu1;;
CONCAT(NAME,REGNO) SUB LENGTH(NAME) RPAD
------------------ -- ------------ ---------- ---------- --------------------
xx13sms01 sm 2 13sms01***
yy13sms02 sm 2 13sms02***
LPAD replace
---------- ----------
***13sms01 13sms01
***13sms02 13sms02
NUMERIC FUNCTIONS
SQL> select round(mark,1),
trunc(mark,1)
from stu1;
ROUND(MARK,1) TRUNC(MARK,1)
------------- -------------
78.2 78
89.3 89
DATE FUNCTION
SQL> select
add_months(dob,2),
last_day(dob)
from stu1;
ADD_MONTH LAST_DAY(
--------- ---------
27-JUN-13 30-APR-13
20-MAR-12 31-JAN-12
27-JUN-13 30-APR-13
24-MAR-12 31-JAN-12
Multiple-Row Functions
Functions that take a collection of values
as input and return a single value. These
functions are known as group functions and
aggregate function.
Types:
1.avg - Returns avg value of a given expression
2.Min - Returns Minimum value of a given expression
3.Max - Returns Maximum value of a given expression.
4.Sum - Returns total or sum of the expr.
5.count-Counts the no of values present in a column.
EXAMPLE
sql>create table stu2(
major varchar2(10),
semester varchar2(10)
noofpapers number(2),
);
Table created.
SQL> desc stu2;
Name Null? Type
----------------------------------------- -------- --------------
MAJOR VARCHAR2(10)
SEMESTER VARCHAR2(10)
NOOFPAPERS NUMBER
SQL> insert into stu2 values(&major,&semester,&noofpapers);
Enter value for name: ‘computer'
Enter value for regno: ‘first’
Enter value for dob: 6
old 1: insert into stuu2 values(&major,&semester,&noofpapers)
new 1: insert into stuu2 values(‘computer’,’first’,6)
1 row created.
SQL> insert into stu2 values(&major,&semester,&noofpapers);
Enter value for name: ‘computer'
Enter value for regno: ‘second’
Enter value for dob: 5
old 1: insert into stuu2 values(&major,&semester,&noofpapers)
new 1: insert into stuu2 values(‘computer’,’second’,5)
1 row created
SQL> insert into stu2
values(&major,&semester,&noofpapers);
Enter value for name: ‘history'
Enter value for regno: ‘first’
Enter value for dob: 6
old 1: insert into stuu2
values(&major,&semester,&noofpapers)
new 1: insert into stuu2 values(‘history’,’first’,6)
1 row created
MULTIPLE ROW FUNCTION
Sql>select major,sum(noofpapers),
count(noofpapers),
avg(noofpapers)
from stu2 group by major;
MAJOR SUM(NOOFPAPERS) COUNT(NOOFPAPERS) AVG(NO
-------- -------- -------- -----------
computer 11 2 5.5
history 6 2 3

More Related Content

PPTX
Procedure n functions
PPT
Oracle PL sql 3
PPT
PL/SQL
DOCX
Functions oracle (pl/sql)
PPTX
User defined functions in C
PPT
User defined functions in C programmig
PPT
User Defined Functions
PPTX
C function presentation
Procedure n functions
Oracle PL sql 3
PL/SQL
Functions oracle (pl/sql)
User defined functions in C
User defined functions in C programmig
User Defined Functions
C function presentation

What's hot (17)

PDF
Cpp functions
PPT
user defined function
DOC
4. function
PDF
M11 operator overloading and type conversion
PPTX
Presentation on Function in C Programming
PPTX
User defined functions
PPTX
Function & Recursion
PDF
PPTX
Unit 3(rdbms)
PPTX
Anonymous and Inline Functions in MATLAB
PPTX
Control Structures in C
PPTX
Functions in C
PPTX
Function in C and C++
PPTX
Function in c language(defination and declaration)
PPTX
A green solution to solve a race condition problem
PPT
Functions in c
Cpp functions
user defined function
4. function
M11 operator overloading and type conversion
Presentation on Function in C Programming
User defined functions
Function & Recursion
Unit 3(rdbms)
Anonymous and Inline Functions in MATLAB
Control Structures in C
Functions in C
Function in C and C++
Function in c language(defination and declaration)
A green solution to solve a race condition problem
Functions in c
Ad

Similar to Function and types (20)

PDF
Sql functions
PPT
Oracle sql ppt2
PPTX
Unit 3 - Function & Grouping,Joins and Set Operations in ORACLE
PDF
Oracle sql functions
PDF
SQL BUILT-IN FUNCTION
PPT
PPT
Oracle Sql & PLSQL Complete guide
PPT
Chapter-5.ppt
PPT
Sql operators & functions 3
PPT
Single row functions
PPTX
12th.pptx
PPT
PPT
Les03 (Using Single Row Functions To Customize Output)
PPT
2 sql - single-row functions
PPT
PPT
Using single row functions to customize output
PPTX
Functions
PPTX
Les03.pptx
PPT
les05singlerowfunctiononoracledatabase.ppt
PPTX
Built-Functions in MySqll (Advance Database System)
Sql functions
Oracle sql ppt2
Unit 3 - Function & Grouping,Joins and Set Operations in ORACLE
Oracle sql functions
SQL BUILT-IN FUNCTION
Oracle Sql & PLSQL Complete guide
Chapter-5.ppt
Sql operators & functions 3
Single row functions
12th.pptx
Les03 (Using Single Row Functions To Customize Output)
2 sql - single-row functions
Using single row functions to customize output
Functions
Les03.pptx
les05singlerowfunctiononoracledatabase.ppt
Built-Functions in MySqll (Advance Database System)
Ad

Recently uploaded (20)

PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PPTX
Lesson notes of climatology university.
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Weekly quiz Compilation Jan -July 25.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Cell Structure & Organelles in detailed.
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Trump Administration's workforce development strategy
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Computing-Curriculum for Schools in Ghana
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
Classroom Observation Tools for Teachers
PPTX
Cell Types and Its function , kingdom of life
PDF
01-Introduction-to-Information-Management.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
Lesson notes of climatology university.
Anesthesia in Laparoscopic Surgery in India
Weekly quiz Compilation Jan -July 25.pdf
Final Presentation General Medicine 03-08-2024.pptx
Cell Structure & Organelles in detailed.
Abdominal Access Techniques with Prof. Dr. R K Mishra
Trump Administration's workforce development strategy
VCE English Exam - Section C Student Revision Booklet
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
STATICS OF THE RIGID BODIES Hibbelers.pdf
Computing-Curriculum for Schools in Ghana
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Complications of Minimal Access Surgery at WLH
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
Classroom Observation Tools for Teachers
Cell Types and Its function , kingdom of life
01-Introduction-to-Information-Management.pdf
human mycosis Human fungal infections are called human mycosis..pptx
Chinmaya Tiranga quiz Grand Finale.pdf

Function and types

  • 1. What is a Function in PL/SQL? A function are named PL/SQL Block.It 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.
  • 2. Structure of Function stored functions 3 sections 1.declaration section-declaration of variables and constants 2.executable section-pl/sql statements which perform specific task 3.exception handling section-the error occuring in executable part can be handled in this section
  • 3. CREATE [OR REPLACE] FUNCTION function_name [ (parameter [,parameter]) ] RETURN return_datatype IS | AS [declaration_section] BEGIN executable_section [EXCEPTION exception_section] END [function_name];
  • 4. CREATE [OR REPLACE] FUNCTION fa(m number) RETURN number IS f number:=1; BEGIN for I in 1….m Loop F:=f*I; End loop; return f; End;
  • 5. TwoTypes Functions Single-row functions Multiple-row functions Return one result per row Return one result per set of rows Functions
  • 6. Single row functions return a single result per every row. There are different types of single-row functions.
  • 8. Character functions LOWER UPPER INITCAP CONCAT SUBSTR LENGTH INSTR LPAD | RPAD TRIM REPLACE Case-manipulation functions 1) Character or Text Functions: Character functions accept character input and can return both character and number values. Character-manipulation functions
  • 9. 1.LOWER The Lower function converts the character values into lowercase letters . 2. UPPER The Upper function converts the character values into uppercase letters. 3. INITCAP The Initcap function coverts the first character of each word into uppercase and the remaining characters into lowercase. . .
  • 10. Character-manipulation functions 1.CONCAT The Concat function coverts the first string with the second string 2. SUBSTR The Substr function returns specified characters from character value starting at position m and n characters long. If you omit n, all characters starting from position m to the end are returned.
  • 11. 3.LENGTH The Length function is used to find the number of characters in a string 4.RPAD The Rpad function pads the character value left-justified to a total width of n character positions. 5.TRIM The Trim function removes the leading or trailing or both the characters from a string.
  • 12. 6.REPLACE The Replace function is used to replace a character with another Character in a string.
  • 13. 2) Numeric Functions: Numeric functions accept numeric input and return numeric values. ROUND TRUNC Numeric functions
  • 14. 3) Date Functions: Date functions operate on DATE. Date function MONTHS_BETWEEN ADD_MONTHS NEXT_DAY LAST_DAY
  • 15. Explicit data type conversion Data type conversion Implicit data type conversion 4) Conversion Functions: Conversion functions convert a value from one datatype to another.
  • 16. EXAMPLE sql>create table stu1( name varchar2(8), regno varchar2(10) mark number(6,2), DOB date ); Table created. SQL> desc stu1; Name Null? Type ----------------------------------------- -------- -------------- NAME VARCHAR2(8) REGNO VARCHAR2(10) DOB DATE Mark NUMBER
  • 17. SQL> insert into stuu2 values(&name,&regno,&dob,&mark); Enter value for name: 'xx' Enter value for regno: '13sms01' Enter value for dob: '27-apr-2013' Enter value for mark: 78.23 old 1: insert into stuu2 values(&name,&regno,&dob,&mark) new 1: insert into stuu2 values('xx','13sms01','27-apr- 2013',78.23) 1 row created.
  • 18. SQL> / Enter value for name: 'yy' Enter value for regno: '13sms02' Enter value for dob: '24-jan-2012' Enter value for mark: 89.78 old 1: insert into stuu2 values(&name,&regno,&dob,&mark) new 1: insert into stuu2 values('yy','13sms02','24-jan- 2012',89.78) 1 row created.
  • 19. SQL> select*from stu1; NAME REGNO DATE MARK -------- ---------- ----------------- ------------------ xx 13sms01 27-apr-2013 78.23 yy 13sms02 24-jan-2012 89.78 CASE-MANIPULATION FUNCTION SQL> select 2 lower(name),upper(name),initcap(name) from stu1; LOWER(NA UPPER(NA INITCAP( -------- -------- -------- xx XX Xx yy YY Yy
  • 20. CHARACTER MANIPULATION FUNCTION SQL> select concat(name,regno), substr(regno,3,2), length(name), rpad(regno,10,'*')RPAD, lpad(regno,10,'*')LPAD, replace(regno,‘sms','ma')"replace”from stu1;; CONCAT(NAME,REGNO) SUB LENGTH(NAME) RPAD ------------------ -- ------------ ---------- ---------- -------------------- xx13sms01 sm 2 13sms01*** yy13sms02 sm 2 13sms02*** LPAD replace ---------- ---------- ***13sms01 13sms01 ***13sms02 13sms02
  • 21. NUMERIC FUNCTIONS SQL> select round(mark,1), trunc(mark,1) from stu1; ROUND(MARK,1) TRUNC(MARK,1) ------------- ------------- 78.2 78 89.3 89
  • 22. DATE FUNCTION SQL> select add_months(dob,2), last_day(dob) from stu1; ADD_MONTH LAST_DAY( --------- --------- 27-JUN-13 30-APR-13 20-MAR-12 31-JAN-12 27-JUN-13 30-APR-13 24-MAR-12 31-JAN-12
  • 23. Multiple-Row Functions Functions that take a collection of values as input and return a single value. These functions are known as group functions and aggregate function. Types: 1.avg - Returns avg value of a given expression 2.Min - Returns Minimum value of a given expression 3.Max - Returns Maximum value of a given expression. 4.Sum - Returns total or sum of the expr. 5.count-Counts the no of values present in a column.
  • 24. EXAMPLE sql>create table stu2( major varchar2(10), semester varchar2(10) noofpapers number(2), ); Table created. SQL> desc stu2; Name Null? Type ----------------------------------------- -------- -------------- MAJOR VARCHAR2(10) SEMESTER VARCHAR2(10) NOOFPAPERS NUMBER
  • 25. SQL> insert into stu2 values(&major,&semester,&noofpapers); Enter value for name: ‘computer' Enter value for regno: ‘first’ Enter value for dob: 6 old 1: insert into stuu2 values(&major,&semester,&noofpapers) new 1: insert into stuu2 values(‘computer’,’first’,6) 1 row created. SQL> insert into stu2 values(&major,&semester,&noofpapers); Enter value for name: ‘computer' Enter value for regno: ‘second’ Enter value for dob: 5 old 1: insert into stuu2 values(&major,&semester,&noofpapers) new 1: insert into stuu2 values(‘computer’,’second’,5) 1 row created
  • 26. SQL> insert into stu2 values(&major,&semester,&noofpapers); Enter value for name: ‘history' Enter value for regno: ‘first’ Enter value for dob: 6 old 1: insert into stuu2 values(&major,&semester,&noofpapers) new 1: insert into stuu2 values(‘history’,’first’,6) 1 row created
  • 27. MULTIPLE ROW FUNCTION Sql>select major,sum(noofpapers), count(noofpapers), avg(noofpapers) from stu2 group by major; MAJOR SUM(NOOFPAPERS) COUNT(NOOFPAPERS) AVG(NO -------- -------- -------- ----------- computer 11 2 5.5 history 6 2 3