Data Warehousing Community Forum

Databases => PL/SQL => Topic started by: Sipra on July 10, 2007, 12:17:40 pm



Title: Procedure and Function?
Post by: Sipra on July 10, 2007, 12:17:40 pm

What is the difference between a Procedure and Function?

Is Package consists of all PL/SQL units? What is the advantage of Package when compared to a Procedure and Function?

How Procedures and Functions are called in a PL/SQL block?


Title: Re: Procedure and Function?
Post by: Whoever on July 17, 2007, 11:50:22 am
A Function is always returns a value using the return statement.

A Procedure may return one or more values through parameters or maynot return at all.

A Package is a PL/SQL block which contains set of Functions and Procedures.

How Procedures and Functions are called in a PL/SQL block?

Function is called as a part of expression.
for Eg - sal:=calulate_sal('sp207')

Procedure is called as a PL/SQL statement
for Eg - calculate_bonus('sp033')


Title: Re: Procedure and Function?
Post by: unknown on January 19, 2008, 11:23:37 pm
Just adding a small missed out point to Whoever's statement -

Functions are used for computations where as procedures are used for performing business logic.
Thanks  ;D


Title: Re: Procedure and Function?
Post by: samishta on May 28, 2008, 11:56:30 pm
I agree with unknown,... functions are widely used for computations, while procedures and functions both might be used for implementing complex business logic.

We can easily use functions in sql statements, ... say select queries for that matter since they are capable of returning values and thus can very easily be equated. Even the inbuilt functions like decode, nvl etc exemplify this.
Procedures dont find much use in sql statements but are used in pl blocks. They support multiple in out parameters.