Procedures in pl/sql, PL-SQL Programming

Assignment Help:

Procedures 

The procedure is a subprogram which performs a specific action. You write procedures using the syntax as shown below:

PROCEDURE name [(parameter[, parameter, ...])] IS

[local declarations]

BEGIN

executable statements

[EXCEPTION

exception handlers]

END [name];

Where the parameter stand for the following syntax:

parameter_name [IN | OUT [NOCOPY] | IN OUT [NOCOPY]] datatype_name

[{:= | DEFAULT} expression]

The datatype of a parameter cannot be constrained. For illustration, the declaration below of acct_id is illegal as the datatype CHAR is size-constrained:

PROCEDURE reconcile (acct_id CHAR(5)) IS ... - illegal

Though, you can use the workaround below to size-constrain parameter types ultimately:

DECLARE

temp CHAR(5);

SUBTYPE Char5 IS temp%TYPE;

PROCEDURE reconcile (acct_id Char5) IS ...

The procedure has 2 parts: the specification and the body. The procedure specification starts with the keyword PROCEDURE and ends with the procedure name or the parameter list. The Parameter declarations are elective. The Procedures that take no parameters are written without the parentheses.

The procedure body starts with the keyword IS and ends with the keyword END followed by an optional procedure name. The procedure body has 3 parts: a declarative section, an executable section, & an optional exception-handling section.

The declarative section contains the local declarations, that are placed between the keywords IS and BEGIN. The keywords DECLARE, that introduces the declarations in an anonymous PL/SQL block, and is not used. The executable section contains statements that are placed between the keywords BEGIN & EXCEPTION (or END). At least one statement should appear in the executable section of a procedure. The NULL statements meet this necessity. The exception-handling section contains the exception handlers that are placed between the keywords EXCEPTION and END. Consider the procedure raise_salary that increases the salary of an employee by a given amount:

PROCEDURE raise_salary (emp_id INTEGER, amount REAL) IS

current_salary REAL;

salary_missing EXCEPTION;

BEGIN

SELECT sal INTO current_salary FROM emp

WHERE empno = emp_id;

IF current_salary IS NULL THEN

RAISE salary_missing;

ELSE

UPDATE emp SET sal = sal + amount

WHERE empno = emp_id;

END IF;

EXCEPTION

WHEN NO_DATA_FOUND THEN

INSERT INTO emp_audit VALUES (emp_id, 'No such number');

WHEN salary_missing THEN

INSERT INTO emp_audit VALUES (emp_id, 'Salary is null');

END raise_salary;

Whenever called, this procedure accepts an employee number and the salary increase sum. It uses the employee number to select the present salary from the emp database table. When the employee number is not found or if the current salary is null, an exception is raised. Or else, the salary is updated.

The procedure is known as the PL/SQL statement. For illustration, you might call the procedure raise_salary as shown below:

DECLARE

emp_id NUMBER;

amount REAL;

BEGIN

...

raise_salary(emp_id, amount);


Related Discussions:- Procedures in pl/sql

Parameter and keyword description - update statement, Parameter and Keyword...

Parameter and Keyword Description:   table_reference: This keyword identifies the table or view that should be accessible when you execute the UPDATE statement, and for wh

Theory of eternity of life - origin of life, THEO R Y OF ETERNITY OF LIFE...

THEO R Y OF ETERNITY OF LIFE (PRAYER - 1880) - The theory of eternity of life, also called the steady-state theory , states that life has ever been in existence as at presen

Subprograms, What Are Subprograms? The Subprograms are named PL/SQL blo...

What Are Subprograms? The Subprograms are named PL/SQL blocks which can take parameters and be invoked. The PL/SQL has 2 types of subprograms known as the procedure s and func

Execute your documentation in oracle, Using research notes and Oracle docum...

Using research notes and Oracle documentation plan and execute an upgrade of an installation of Oracle 10g to Oracle 11g release 1. To do this you must show in screen shots and wri

Pl/sql expressions , Pl/SQL Expressions The Expressions are constructed...

Pl/SQL Expressions The Expressions are constructed by using the operands and operators. An operand is a constant, literal, variable, or function call which contributes a value

Anatomy of a command, Anatomy of a Command Figure, showing a simple S...

Anatomy of a Command Figure, showing a simple SQL command, is almost identical to its counterpart in the theory book. The only difference arises from the fact that SQL uses a

%notfound - explicit cursor attributes, %NOTFOUND The %NOTFOUND is log...

%NOTFOUND The %NOTFOUND is logical, opposite of the %FOUND. The %NOTFOUND yields FALSE if the last fetch returned a row, or TRUE when the final fetch failed to return a row. I

Projection and existential quantification - sql, Projection and Existential...

Projection and Existential Quantification - SQL Intuitively it might seem that projection in SQL is simply a matter of specifying the required columns in the SELECT clause, a

Use the pls_integer datatype - performance of application, Use the PLS_INTE...

Use the PLS_INTEGER Datatype When you require to declare an integer variable, use the datatype PLS_INTEGER that is the most efficient numeric type. That is as the PLS_INTEGER

Biochemical origin of life - modern concept, BIOCHE M ICA L ORIGIN OF LI...

BIOCHE M ICA L ORIGIN OF LIFE - It is generally agreed by astronomers, geologists and biologists that the earth is approximately 4500-5000 million years old. It is an

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd