Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
25 views8 pages

Database Programming

Presentation on Database Programming
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views8 pages

Database Programming

Presentation on Database Programming
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Database Programming

An overview of database programming concepts, including cursors,


exception handling, procedures, functions, packages, and triggers.

Priyanshu Nailwal
Sumit Kar
Introduction to Database
Programming
Database programming extends SQL by incorporating procedural logic for enhanced
functionality. It enables complex transactions, automation, and efficient data
manipulation. It is used for data integrity, error handling, and enforcing business
rules within databases. It includes procedural constructs like loops, conditional
statements, and modular programming.

Database programming enhances performance by reducing the dependency on


external applications for computations. By integrating procedural logic directly into
the database, developers can create more efficient and robust applications that
leverage the power of SQL and procedural constructs.

Enhanced Automation Data Integrity


Functionality
Cursors
A cursor is a database object that allows row-by-row processing of query results. There are two types of cursors: implicit and explicit.
Implicit cursors are automatically created by SQL for DML operations, while explicit cursors are declared by the user to process
multiple rows explicitly.

Cursor operations include DECLARE (define the cursor with a SELECT statement), OPEN (activate the cursor and retrieve data), FETCH
(retrieve each row one by one), and CLOSE (release the cursor after use). A common use case is fetching and processing employee
records sequentially.

Implicit Cursor Explicit Cursor

Automatically created by SQL for DML operations. Declared by the user to process multiple rows explicitly.
Exception Handling
Exception handling is a mechanism to handle runtime errors and ensure smooth execution
of SQL/PLSQL code. There are predefined exceptions (e.g., NO\_DATA\_FOUND, ZERO\
_DIVIDE, TOO\_MANY\_ROWS) and user-defined exceptions (custom exceptions declared
using the EXCEPTION keyword).

Exception handling blocks consist of BEGIN (start execution), EXCEPTION (handle errors
using WHEN clauses), and END (close the block). A common use case is handling division by
zero errors in a salary calculation program, ensuring the program doesn't crash and
provides a meaningful error message.

Predefined Exceptions User-Defined Exceptions


Exceptions already defined by Oracle. Custom exceptions declared using the
EXCEPTION keyword.

Exception Handling Blocks


BEGIN, EXCEPTION, and END blocks.
Procedures
A procedure is a stored subprogram that performs a specific task and can be executed multiple
times. Key features include reducing redundancy by storing reusable logic and supporting
parameters (IN, OUT, INOUT). The creation syntax involves using the CREATE PROCEDURE
statement.

For example, automating employee salary increments based on performance can be achieved
using a procedure. Procedures are essential for modularizing code and promoting reusability
within a database environment, leading to more maintainable and efficient applications.

Reduces Redundancy
Stores reusable logic.

Supports Parameters
IN, OUT, INOUT parameters.

Automates Tasks
Automates tasks.
Functions
Functions are similar to procedures but always return a single value and can be used in SELECT
queries. They must return a value using the RETURN statement. The syntax involves using the CREATE
FUNCTION statement. A common use case is computing bonus amounts dynamically for employees.

Functions are valuable for encapsulating calculations and logic that can be easily reused in SQL
queries, making them an essential tool for database developers. By returning a single value, functions
ensure that the result is predictable and can be seamlessly integrated into various SQL operations.

1 Returns Single Value


Always returns a single value.

2 Used in SELECT Queries


Can be used in SELECT queries.

3 RETURN Statement
Must return a value using the RETURN statement.
Packages
A package is a collection of related procedures, functions, variables, and other database objects. It consists of a specification (declares functions
and procedures) and a body (implements the actual logic). Benefits include improved code organization, enhanced performance, and security.

A common use case is a package handling employee payroll operations, including salary calculations and tax deductions. Packages are essential
for creating modular and maintainable database applications, allowing developers to group related functionalities into a single unit.

Specification
1 Declares functions and procedures.

Body
2 Implements the actual logic.

Benefits
3 Code organization, performance, and security.
Triggers
A trigger is a stored program that automatically executes in response to specific database events. Types of triggers include before triggers, after triggers, row-level
triggers, and statement-level triggers. A common use case is automatically logging salary updates whenever a change occurs.

Triggers are powerful tools for enforcing business rules and maintaining data integrity within a database system. By automatically responding to database events,
triggers ensure that critical operations are performed consistently and reliably, reducing the risk of errors and inconsistencies.

Before Triggers After Triggers


Execute before the triggering event. 1 2 Execute after the triggering event.

Statement-Level Triggers Row-Level Triggers


4 3
Fire once per SQL statement. Fire once for each affected row.

You might also like