Procedures and Functions - DBMS
Procedures and Functions - DBMS
com
Procedures:
A procudure 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 declara on sec on, execu on sec on and excep on sec on 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 Descrip on
OUT type These types of parameters are used to get values from
stored procedures. This is similar to a return type in
func ons.
IN OUT type These types of parameters are used to send values and get
values from stored procedures.
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 Declara on sec on.
The syntax within the brackets [ ] indicate they are op onal. By using CREATE OR REPLACE together the procedure is created if
no other procedure with the same name exists or the exis ng procedure is replaced with the current code.
https://tutorialink.com/dbms/procedures-and-functions.dbms 1/4
11/5/2018 Procedures and Functions | DBMS | Tutorialink.com
Example:
create table named emp have two column id and salary with number datatype.
Output:
Run SQL Command Line
SQL>set serveroutput on
SQL>start D://pr.sql
Procedure created.
SQL>exec p1(5,4);
VALUE INSERTED.
PL/SQL procudere successfully completed.
Func ons:
A func on is a named PL/SQL Block which is similar to a procedure. The major difference between a procedure and a func on
is, a func on must always return a value, but a procedure may or may not return a value.
Syntax:
https://tutorialink.com/dbms/procedures-and-functions.dbms 2/4
11/5/2018 Procedures and Functions | DBMS | Tutorialink.com
exception section
Return return_variable;
END;
RETURN TYPE: The header sec on defines the return type of the func on. The return datatype can be any of the oracle
datatype like varchar, number etc.
The execu on and excep on sec on both should return a value which is of the datatype defined in the header sec on.
Example:
Output:
Run SQL Command Line
SQL>start D://fun.sql
Function created.
In the example we are retrieving the ‘salary’ of employee with id 2 to variable ‘sal’.
The return type of the func on is number.
Syntax:
https://tutorialink.com/dbms/procedures-and-functions.dbms 3/4
11/5/2018 Procedures and Functions | DBMS | Tutorialink.com
https://tutorialink.com/dbms/procedures-and-functions.dbms 4/4