0% found this document useful (0 votes)
176 views25 pages

DBMS Lab Manual

The document discusses implementing restrictions or constraints on database tables. Constraints can be placed at the column level or table level and include null value concepts. Column level constraints are defined along with the column, while table level constraints reference contents of other cells in the table.

Uploaded by

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

DBMS Lab Manual

The document discusses implementing restrictions or constraints on database tables. Constraints can be placed at the column level or table level and include null value concepts. Column level constraints are defined along with the column, while table level constraints reference contents of other cells in the table.

Uploaded by

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

RAJ KUMAR GOEL INSTITUTE OF TECHNOLOGY,

GHAZIABAD(U.P.)
Recognized by AICTE and Approved by Dr. APJ AKTU, Lucknow

(AN ISO 9001:2015 CERTIFIED INSTITUTE)


NBA Accredited Programs (ECE & Pharmacy)

DEPARTMENT OF COMPUTER SCIENCE AND


ENGINNERING(IOT)

PRACTICAL FILE
SESSION (2023-2024)

NAME- MAHI RAJPUT ROLL NO.- 2100331550051

BRANCH- CSE(IOT) SECTION- “B”

SUBJECT- DATABASE AND MANAGEMENT SYSTEM

SUBJECT CODE-KCS-551 SUBMITTED TO- Ms. PRIYANKA


SINGH

DBMS Lab (KCS-551) Manual (IT, V SEM)


INDEX
Program
No. Program Name Date Signature

1
Creating tables and writing Queries in SQL.

2 To implement various DML Operations on table.

3 To Implement the restrictions/constraints on the table

4 To Alter the structure of the table

5 To implement the concept of Joins

6 To implement the concept of grouping of Data.

7 To implement the concept of Sub Queries.

8
To implement the concept of Indexes and views.

9 To implement the basics of PL/SQL

10 To implement the concept of Cursor and Trigger

DBMS Lab (KCS-551) Manual (IT, V SEM)


PRACTICAL No: - 01
Objective: Creating tables and writing Queries in SQL.

Introduction about SQL-


SQL (Structured Questionry Language) is a nonprocedural language, you specify what you want,
not how to get it. A block structured format of English key words is used in this Questionry
language. It has the following components.

DDL (Data Definition Language)-


The SQL DDL provides command for defining relation schemas, deleting relations and modifying
relation schema.

DML (DATA Manipulation Language)-


It includes commands to insert tuples into, delete tuples from and modify tuples in the database.

View definition-
The SQL DDL includes commands for defining views.
Transaction Control- SQL includes for specifying the beginning and ending of transactions.

Embedded SQL and Dynamic SQL-


Embedded and Dynamic SQL define how SQL statements can be embedded with in general
purpose programming languages, such as C, C++, JAVA, COBOL, Pascal and Fortran.

Integrity-
The SQL DDL includes commands for specifying integrity constraints that the data stored in the
database must specify. Updates that violate integrity constraints are allowed.

Authorization-
The SQL DDL includes commands for specifying access rights to relations and views.

Data Definition Language-

The SQL DDL allows specification of not only a set of relations but also information about each
relation, including-
• Schema for each relation
• The domain of values associated with each attribute.
• The integrity constraints.
• The set of indices to be maintained for each relation.
• The security and authorization information for each relation.
• The physical storage structure of each relation on disk.

Domain types in SQL-

The SQL standard supports a variety of built in domain types, including-

DBMS Lab (KCS-551) Manual (IT, V SEM)


• Char (n)- A fixed length character length string with user specified length .
• Varchar (n)- A variable character length string with user specified maximum length n.
• Int- An integer.
• Small integer- A small integer.
• Numeric (p, d)-A Fixed point number with user defined precision.
• Real, double precision- Floating point and double precision floating point numbers with
machine dependent precision.
• Float (n)- A floating point number, with precision of at least n digits.
• Date- A calendar date containing a (four digit) year, month and day of the month.
• Time- The time of day, in hours, minutes and seconds Eg. Time ’09:30:00’.
• Number- Number is used to store numbers (fixed or floating point).

DDL statement for creating a table-

Syntax-
Create table tablename
(columnname datatype(size), columnname datatype(size));

Creating a table from a table-


Syntax-
CREATE TABLE TABLENAME
[(columnname, columnname, ………)]
AS SELECT columnname, columnname……..FROM tablename;

Insertion of data into tables-

Syntax-
INSERT INTO tablename
[(columnname, columnname, ………)]
Values(expression, expression);

Inserting data into a table from another table:

Syntax-
INSERT INTO tablename
SELECT columnname, columnname, …….
FROM tablename;

Insertion of selected data into a table from another table:

Syntax-
INSERT INTO tablename
SELECT columnname, columnname……..
FROM tablename
WHERE columnname= expression;

Retrieving of data from the tables-

DBMS Lab (KCS-551) Manual (IT, V SEM)


Syntax-
SELECT * FROM tablename;

The retrieving of specific columns from a table-

Syntax-
SELECT columnname, columnname, ….
FROM tablename;

Elimination of duplicates from the select statement-

Syntax-
SELECT DISTINCT columnname, columnname
FROM tablename;

Selecting a data set from table data-

Syntax-
SELECT columnname, columnname
FROM tablename
WHERE searchcondition;

DBMS Lab (KCS-551) Manual (IT, V SEM)


PRACTICAL No: - 02
Objective:- To implement various DML Operations on table.

Description

DML ( Data Manipulation Language) Data manipulation is

• The retrieval of information stored in the database.


• The insertion of new information into the database.
• The deletion of information from the database.
• The modification of information stored by the appropriate data model. There are basically
two types.
(i) Procedural DML:- require a user to specify what data are needed and how to get
those data.
(ii) Non Procedural DML : require a user to specify what data are needed without
specifying how to get those data.

Updating the content of a table:


In creation situation we may wish to change a value in table without changing all values in the
tuple . For this purpose the update statement can be used.

Update table name


Set columnname = experision, columnname =expression……
Where columnname = expression;

Deletion Operation:-
A delete reQuestionst is expressed in much the same way as Questionry. We can delete whole
tuple ( rows) we can delete values on only particulars attributes.

Deletion of all rows

Syntax:
Delete from tablename :

Deletion of specified number of rows


Syntax:
Delete from table name
Where search condition ;
Computation in expression lists used to select data

+ Addition - Subtraction
* multiplication ** exponentiation
/ Division () Enclosed operation

DBMS Lab (KCS-551) Manual (IT, V SEM)


Renaming columns used with Expression Lists: - The default output column names can be renamed
by the user if required
Syntax:

Select column name result_columnname,


Columnname result_columnname,
From table name;

Logical Operators:
The logical operators that can be used in SQL sentenced are

AND all of must be included


OR any of may be included
NOT none of could be included

Range Searching: Between operation is used for range searching.


Pattern Searching:
The most commonly used operation on string is pattern matching using the operation ‘like’ we
describe patterns by using two special characters.

• Percent (%) ; the % character matches any substring we consider the following examples.
• ‘Perry %’ matches any string beginning with perry
• ‘% idge % matches any string containing’ idge as substring.
• ‘ - - - ‘ matches any string exactly three characters.
• ‘ - - - % matches any string of at least of three characters.

Oracle functions:
Functions are used to manipulate data items and return result. function follow the format of
function _name (argument1, argument2 ..) .An arrangement is user defined variable or constant.
The structure of function is such that it accepts zero or more arguments.
Examples:
Avg return average value of n

Syntax:
Avg ([distinct/all]n)
Min return minimum value of expr.

Syntax:
MIN((distict/all )expr)
Count Returns the no of rows where expr is not null
Syntax:
Count ([distinct/all)expr]
Count (*) Returns the no rows in the table, including duplicates and those with nulls.
Max Return max value of expr

Syntax:

DBMS Lab (KCS-551) Manual (IT, V SEM)


Max ([distinct/all]expr)
Sum Returns sum of values of n

Syntax:
Sum ([distinct/all]n)
Sorting of data in table
Syntax:
Select columnname, columnname
From table
Order by columnname;

DBMS Lab (KCS-551) Manual (IT, V SEM)


PRACTICAL No: - 03
Objective:- To Implement the restrictions/constraints on the table.

Description:
Data constraints: Besides the cell name, cell length and cell data type there are other parameters
i.e. other data constrains that can be passed to the DBA at check creation time. The constraints can
either be placed at column level or at the table level.

i. Column Level Constraints: If the constraints are defined along with the column
definition, it is called a column level constraint.
ii. Table Level Constraints: If the data constraint attached to a specify cell in a table
reference the contents of another cell in the table then the user will have to use table level
constraints.

Null Value Concepts:- while creating tables if a row locks a data value for particular
column that value is said to be null . Column of any data types may contain null values
unless the column was defined as not null when the table was created

Syntax:

Create table tablename


(columnname data type (size) not null ……)

Primary Key: primary key is one or more columns is a table used to uniquickly identity
each row in the table. Primary key values must not be null and must be uniQuestion across
the column. A multicolumn primary key is called composite primary key.

Syntax: primary key as a column constraint


Create table tablename
(columnname datatype (size) primary key,….)
Primary key as a table constraint
Create table tablename
(columnname datatype (size), columnname datatype( size)…
Primary key (columnname,columnname));

UniQuestion key concept:-A uniQuestion is similar to a primary key except that the
purpose of a uniQuestion key is to ensure that information in the column for each record is
uniQuestion as with telephone or devices license numbers. A table may have many
uniQuestion keys.

Syntax: UniQuestion as a column constraint.


Create table table name
(columnname datatype (size) uniQuestion);
UniQuestion as table constraint:
Create table tablename

DBMS Lab (KCS-551) Manual (IT, V SEM)


(columnname datatype (size),columnname datatype (size)…uniQuestion
(columnname,columnname));

Default value concept: At the line of cell creation a default value can be assigned to it.
When the user is loading a record with values and leaves this cell empty, the DBA wil
automatically load this cell with the default value specified. The data type of the default
value should match the data type of the column

Syntax:

Create table tablename


(columnname datatype (size) default value,….);

Foreign Key Concept : Foreign key represents relationship between tables. A foreign key
is column whose values are derived from the primary key of the same of some other table
. the existence of foreign key implies that the table with foreign key is related to the primary
key table from which the foreign key is derived .A foreign key must have corresponding
primary key value in the primary key table to have meaning.
Foreign key as a column constraint

Syntax :
Create table table name
(columnname datatype (size) references another table name);

Foreign key as a table constraint:

Syntax :
Create table name
(columnname datatype (size)….
primary key (columnname);
foreign key (columnname)references table name);

Check Integrity Constraints: Use the check constraints when you need to enforce
intergrity rules that can be evaluated based on a logical expression following are a few
examples of appropriate check constraints.
• A check constraints name column of the coient_master so that the name is entered
in upper case.
• A check constraint on the client_no column of the client _master so that no
client_no value starts with ‘c’

Syntax:
Create table tablename
(columnname datatype (size) CONSTRAINT constraintname)
Check (expression));

Question.2 Create the following tables:


i. Sales_master

DBMS Lab (KCS-551) Manual (IT, V SEM)


Columnname Datatype Size Attributes
Salesman_no varchar2 6 Primary key/first letter
must start with ‘s’
Sal_name varchar2 20 Not null
Address varchar2 Not null
City varchar2 20
State varchar2 20
Pincode Number 6
Sal_amt Number 8,2 Not null, cannot be 0
Tgt_to_get Number 6,2 Not null, cannot be 0
Ytd_sales Number 6,2 Not null, cannot be 0
Remarks Varchar2 30
Sales_order
Columnname Datatype Size Attributes
S_order_no varchar2 6 Primary/first letter must be 0
S_order_date Date 6 Primary key reference clientno of
client_master table
Client_no Varchar2 25
Dely_add Varchar2 6
Salesman_no Varchar2 6 Foreign key references
salesman_no of salesman_master
table
Dely_type Char 1 Delivery part(p)/full(f),default f
Billed_yn Char 1
Dely_date Date Can not be lessthan s_order_date
Order_status Varchar2 10 Values (‘in
process’;’fulfilled’;back
order’;’canceled

I. Sales_order_details
Column Datatype Size Attributes

S_order_no Varchar2 6 Primary key/foreign


key references
s_order_no of
sales_order
Product_no Varchar2 6 Primary key/foreign
key references
product_no of
product_master
Qty_order Number 8
Qty_disp Number 8
Product_rate Number 10,2

Insert the following data into their respective tables using insert statement:

DBMS Lab (KCS-551) Manual (IT, V SEM)


Data for sales_man master table

Salesman_ Salesm Address City Pin Stat Salam Tg Ytd Remark


no an code e t t_t Sales
name o_
get
500001 Kiran A/14 Bom 40000 Mah 3000 10 50 Good
worli bay 2 0
500002 Manish 65,narim Bom 40000 Mah 3000 20 100 Good
an bay 1 0
500003 Ravi P-7 Bom 40003 Mah 3000 20 100 Good
Bandra bay 2 0
500004 Ashish A/5 Juhu Bom 40004 Mah 3500 20 150 Good
bay 4 0

(ii)Data for salesorder table:


S_orderno S_orderdate Client no Dely Bill Salesman no Delay Orderstatus
type yn date
019001 12-jan-96 0001 F N 50001 20-jan- Ip
96
019002 25-jan-96 0002 P N 50002 27-jan- C
96
016865 18-feb-96 0003 F Y 500003 20-feb- F
96
019003 03-apr-96 0001 F Y 500001 07-apr- F
96
046866 20-may-96 0004 P N 500002 22- C
may-96
010008 24-may-96 0005 F N 500004 26- Ip
may-96

(iii)Data for sales_order_details table:


S_order no Product no Qty ordered Qty disp Product_rate
019001 P00001 4 4 525
019001 P07965 2 1 8400
019001 P07885 2 1 5250
019002 P00001 10 0 525
046865 P07868 3 3 3150
046865 P07885 10 10 5250
019003 P00001 4 4 1050
019003 P03453 2 2 1050
046866 P06734 1 1 12000
046866 P07965 1 0 8400
010008 P07975 1 0 1050
010008 P00001 10 5 525

DBMS Lab (KCS-551) Manual (IT, V SEM)


PRACTICAL No: - 04

Objective:- To Alter the structure of the table

Description:
Modifying the Structure of Tables- Alter table command is used to changing the structure of a
table. Using the alter table clause you cannot perform the following tasks:

(i) change the name of table


(ii) change the name of column
(iii) drop a column
(iv) decrease the size of a table if table data exists.

The following tasks you can perform through alter table command.

(i) Adding new columns:


Syntax
ALTER TABLE tablename
ADD (newcolumnname newdatatype (size));

(ii) Modifying existing table


Syntax:
ALTER TABLE tablename
MODIFY (newcolumnname newdatatype (size));

NOTE: Oracle not allow constraints defined using the alter table, if the data in the table, violates
such constraints.

Removing/Deleting Tables- Following command is used for removing or deleting a table.

Syntax:
DROP TABLE tabename:

Defining Integrity constraints in the ALTER TABLE command-

You can also define integrity constraints using the constraint clause in the ALTER TABLE
command. The following examples show the definitions of several integrity constraints.

(1) Add PRIMARY KEY-


Syntax:
ALTER TABLE tablename
ADD PRIMARY KEY(columnname);

(2) Add FOREIGN KEY-


Syntax:
ALTER TABLE tablename

DBMS Lab (KCS-551) Manual (IT, V SEM)


ADD CONSTRAINT constraintname
FOREIGN KEY(columnname) REFERENCES tablename;
Droping integrity constraints in the ALTER TABLE command:

You can drop an integrity constraint if the rule that if enforces is no longer true or if the
constraint is no longer needed. Drop the constraint using the ALTER TABLE command with the
DROP clause. The following examples illustrate the droping of integrity constraints.

(1) DROP the PRIMARY KEY-


Syntax:
ALTER TABLE tablename
DROP PRIMARY KEY

(2) DROP FOREIGN KEY-


Syntax:
ALTER TABLE tablename
DROP CONSTRAINT constraintname;

DBMS Lab (KCS-551) Manual (IT, V SEM)


PRACTICAL No: - 05
Objective:- To implement the concept of Joins

Description
Joint Multiple Table (Equi Join): Some times we require to treat more than one table as though
manipulate data from all the tables as though the tables were not separate object but one single
entity. To achieve this we have to join tables.Tables are joined on column that have dame data
type and data with in tables.The tables that have to be joined are specified in the FROM clause
and the joining attributes in the WHERE clause.
Algorithm for JOIN in SQL:
1. Cartesian product of tables (specified in the FROM clause)
2. Selection of rows that match (predicate in the WHERE clause)
3. Project column specified in the SELECT clause.

1. Cartesian product:-
Consider two table student and course
Select B.*,P.*
FROM student B, course P;
2. INNER JOIN:
Cartesian product followed by selection
Select B.*,P.*
FROM student B, Course P
WHERE B.course # P.course # ;

3. LEFT OUTER JOIN:


LEFT OUTER JOIN = Cartesian product + selection but include rows from the left table
which are unmatched pat nulls in the values of attributes belonging to th e second table
Exam:
Select B.*,P*
FROM student B left join course p
ON B.course # P.course #;

4. RIGHT OUTER JOIN:


RIGHT OUTER JOIN = Cartesian product + selection but include rows from right table
which are unmatched

Exam:
Select B.*,P.*
From student B RIGHT JOIN course P
B.course# = P course # ;

5. FULL OUTER JOIN


Exam
Select B.*,P.*
From student B FULL JOIN course P
On B.course # = P course # ;

DBMS Lab (KCS-551) Manual (IT, V SEM)


PRACTICAL No: - 06

Objective:- To implement the concept of grouping of Data.

Description
Grouping Data From Tables:
There are circumstances where we would like to apply the aggregate function not only to a single
set of tuples, but also to a group of sets of tuples, we specify this wish in SQL using the group by
clause. The attribute or attributes given in the group by clause are used to form group. Tuples with
the same value on all attributes in the group by clause are placed in one group.

Pre-Practical Questions:
Q1. Why groups are required in database?
Q2. What is minimal requirement for two tables to group together?
Q3. Differentiate b/w group & join syntax.

Syntax:
SELECT columnname, columnname
FROM tablename
GROUP BY columnname;
At times it is useful to state a condition that applies to groups rather than to tuples. For example
we might be interested in only those branches where the average account balance is more than
1200. This condition does not apply to a single tuple, rather it applies to each group constructed
by the GROUP BY clause. To express such Questionry, we use the having clause of SQL. SQL
applies predicates in the having may be used.
Syntax:
SELECT columnname, columnname
FROM tablename
GROUP BY columnname;
HAVING searchcondition;

DBMS Lab (KCS-551) Manual (IT, V SEM)


PRACTICAL No: - 07

Objective:- To implement the concept of Sub Queries.

Description
Sub Queries:- A Sub Queries is a form of an SQL statement that appears inside another SQL
statement. It also termed as nested Questionry. The statement containing a Sub Queries called a
parent statement. The rows returned bu the Sub Queries are use by the following statement.
It can be used by the following commands:
1. To insert records in the target table.
2. To create tables and insert records in this table.
3. To update records in the target table.
4. To create view.
5. To provide values for the condition in the WHERE , HAVING IN , SELECT,UPDATE,
and DELETE statements.

Example:Creating clientmaster table from oldclient_master, table

Create table client_master


AS SELECT * FROM oldclient_master;

Pre-Practical Questions:
Q1. How logical operators apply at SQL table?
Q2. How sub quires apply at table?
Q3.Difference b/w quires and sub-quires.

Using the Union, Intersect and Minus Clause:


Union Clause:
The user can put together multiple Queries and combine their output using the union clause . The
union clause merges the output of two or more Queries into a single set of rows and column. The
final output of union clause will be

Output: = Records only in Questionry one + records only in Questionry two + A single set of
records with is common in the both Queries.

Syntax:
SELECT columnname, columname FROM tablename 1
UNION
SELECT columnname, columnname From tablename2;

Intersect Clause: The use can put together multiple Queries and their output using the interest
clause. The final output of the interest clause will be :

Output =A single set of records which are common in both Queries

DBMS Lab (KCS-551) Manual (IT, V SEM)


Syntax:
SELECT columnname, columnname
FROM tablename 1
INTERSECT
SELECT columnname, columnname
FROM tablename 2;

MINUS CLAUSE:- The user can put together multiple Queries and combine their output = records
only in Questionry one
Syntax:
SELECT columnname, columnname
FROM tablename ;
MINUS
SELECT columnname, columnname
FROM tablename ;

DBMS Lab (KCS-551) Manual (IT, V SEM)


PRACTICAL No: - 08

Objective:- To implement the concept of Indexes and views.

Description:
Indexes- An index is an ordered list of content of a column or group of columns in a table. An index
created on the single column of the table is called simple index. When multiple table columns are
included in the index it is called composite index.
Creating an Index for a table:-
Syntax (Simple)
CREATE INDEX index_name
ON tablename(column name);
Composite Index:-
CREATE INDEX index_name
ON tablename(columnname,columnname);
Creating an UniQuestion Index:-
CREATE UNIQUESTION INDEX indexfilename
ON tablename(columnname);
Dropping Indexes:-
An index can be dropped by using DROP INDEX
SYNTAX:-
DROP INDEX indexfilename;
Views:-
Logical data is how we want to see the current data in our database. Physical data is how
this data is actually placed in our database.
Views are masks placed upon tables. This allows the programmer to develop a method via
which we can display predetermined data to users according to our desire.
Views may be created fore the following reasons:

1. The DBA stores the views as a definition only. Hence there is no duplication of data.
2. Simplifies Queries.
3. Can be Questionried as a base table itself.
4. Provides data security.
5. Avoids data redundancy.

Creation of Views:-
Syntax:-
CREATE VIEW viewname AS
SELECT columnname,columnname
FROM tablename

WHERE columnname=expression_list;

Renaming the columns of a view:-

DBMS Lab (KCS-551) Manual (IT, V SEM)


Syntax:-
CREATE VIEW viewname AS
SELECT newcolumnname….
FROM tablename
WHERE columnname=expression_list;

Selecting a data set from a view-


Syntax:-
SELECT columnname, columnname
FROM viewname
WHERE search condition;

Destroying a view-
Syntax:-
DROP VIEW viewname;

DBMS Lab (KCS-551) Manual (IT, V SEM)


PRACTICAL No: - 09

Objective:- To implement the basics of PL/SQL.

Introduction – PL/SQL bridges the gap between database technology and procedural
programming languages. It can be thought of as a development tool that extends the facilities of
Oracles SQL database language. Via PL/SQL you can insert, delete, update and retrieve table
data as well as use procedural techniQuestions such as writing loops or branching to another
block of code.

PL/SQL Block structure-

DECLARE
Declarations of memory variables used later
BEGIN
SQL executable statements for manipulating table data.
EXCEPTIONS
SQL and/or PL.SQL code to handle errors.
END;

Displaying user Messages on the screen – Any programming tool requires a method through
which messages can be displayed to the user.

dbms_output is a package that includes a number of procedure and functions that accumulate
information in a buffer so that it can be retrieved later. These functions can also be used to
display message to the user.
put_line: put a piece of information in the buffer followed by a end of line marker. It can also be
used to display message to the user.
Setting the server output on:

SET SERVER OUTPUT ON:

Example: Write the following code in the PL/SQL block to display message to user
DBMS_OUTPUT.PUT_LINE(‘Display user message’)

Conditional control in PL/SQL-


Syntax:
IF <condition> THEN
<Action>
ELSEIF<condition>
<Action>
ELSE
<Action>
ENDIF;
The WHILE LOOP:
Syntax:

DBMS Lab (KCS-551) Manual (IT, V SEM)


WHILE <condition>
LOOP
<Action>
END LOOP;

The FOR LOOP statement:


Syntax:
FOR variable IN [REVERSE] start—end
LOOP
<Action>
END LOOP;

The GOTO statement: The goto statement allows you to change the flow of control within a
PL/SQL Block.

DBMS Lab (KCS-551) Manual (IT, V SEM)


PRACTICAL No: - 10

Objective:- To implement the concept of Cursor and Trigger.

Description:
Cursor– We have seen how oracle executes an SQL statement. Oracle DBA uses a work area for
its internal processing. This work area is private to SQL’s operation and is called a cursor.
The data that is stored in the cursor is called the Active Data set. The size of the cursor in memory
is the size required to hold the number of rows in the Active Data Set.

Explicit Cursor- You can explicitly declare a cursor to process the rows individually. A cursor
declared by the user is called Explicit Cursor. For Queries that return more than one row, You
must declare a cursor explicitly.
The data that is stored in the cursor is called the Active Data set. The size of the cursor in
memory is the size required to hold the number of rows in the Active

Why use an Explicit Cursor- Cursor can be used when the user wants to process data one row
at a time.

Explicit Cursor Management- The steps involved in declaring a cursor and manipulating data
in the active data set are:-
• Declare a cursor that specifies the SQL select statement that you want to process.
• Open the Cursor.
• Fetch the data from the cursor one row at a time.
• Close the cursor.

Explicit Cursor Attributes- Oracle provides certain attributes/ cursor variables to control the
execution of the cursor. Whenever any cursor(explicit or implicit) is opened and used Oracle
creates a set of four system variables via which Oracle keeps track of the ‘Current’ status of the
cursor. You
• Declare a cursor that specifies the SQL select statement that you want to process.
• Open the Cursor.
• Fetch the data from the cursor one row at a time.
• Close the cursor.
How to Declare the Cursor:-

The General Syntex to create any perticular cursor is as follows:-


Cursor <Cursorname> is Sql Statement;

How to Open the Cursor:-

The General Syntex to Open any perticular cursor is as follows:-


Open Cursorname;

Fetching a record From the Cursor:-

DBMS Lab (KCS-551) Manual (IT, V SEM)


The fetch statement retrieves the rows from the active set to the variables one at a time. Each time
a fetch is executed. The focus of the DBA cursor advances to the next row in the Active set.
One can make use of any loop structute(Loop-End Loop along with While,For) to fetch the records
from the cursor into variable one row at a time.

The General Syntex to Fetch the records from the cursor is as follows:-
Fetch cursorname into variable1,variable2,______

Closing a Cursor:-

The General Syntex to Close the cursor is as follows:-


Close <cursorname>;

Database Triggers:-
Database triggers are procedures that are stored in the database and are implicitly executed(fired)
when the contents of a table are changed.

Use of Database Triggers:-


Database triggers support Oracle to provide a highly customized database management system.
Some of the uses to which the database triggers can be put to customize management information
in Oracle are as follows:-
• A Trigger can permit DML statements against a table anly if they are issued, during regular
bussiness hours or on predetermined weekdays.
• A trigger can also be used to keep an audit trail of a table along with the operation
performed and the time on which the operation was performed.
• It can be used to prevent invalid transactions.
• Enforce complex security authorizations.

How to apply DataBase Triggers:-


A trigger has three basic parts:-
1. A triggering event or statement.
2. A triger restriction
3. A trigger action.

Types of Triggers:-

Using the various options , four types of triggers can be created:-


1. Before Statement Trigger:- Before executing the triggering statement, the trigger action
is executed.
2. Before Row Trigger:- Before modifying the each row affected by the triggering statement
and before appropriate integrity constraints, the trigger is executed if the trigger restriction
either evaluated to TRUE or was not included.’
3. After Ststement Trigger:- After executing the triggering statement and applying any
deferred integrity canstraints, the trigger action is executed.
4. After row Trigger:- After modifying each row affected by the triggering statement and
possibly applying appropriate integrity constraints, the trigger action is executed for the
current row if the trigger restriction either evaluates to TRUE or was not included.

DBMS Lab (KCS-551) Manual (IT, V SEM)


Syntex For Creating Trigger:-
The syntex for Creating the Trigger is as follows:-

Create or replace Trigger<Triggername> {Before,After} {Delete, Insert, Update } On


<Tablename> For Each row when Condition
Declare
<Variable declarations>;
<Constant Declarations>;
Begin
<PL/SQL> Subprogram Body;
Exception
Exception Pl/SQL block;
End;

How to Delete a Trigger:-

The syntex for Deleting the Trigger is as follows:-


Drop Trigger <Triggername>;

DBMS Lab (KCS-551) Manual (IT, V SEM)

You might also like