0% found this document useful (0 votes)
93 views13 pages

Xperiment Name: Create A Table Where Student Table Delete

The document describes creating tables to store student, course, and result data. It inserts sample data and creates triggers to handle deletes from the student and result tables. The student trigger archives deleted student records, while the result trigger updates the student ID when a result is deleted.

Uploaded by

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

Xperiment Name: Create A Table Where Student Table Delete

The document describes creating tables to store student, course, and result data. It inserts sample data and creates triggers to handle deletes from the student and result tables. The student trigger archives deleted student records, while the result trigger updates the student ID when a result is deleted.

Uploaded by

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

Experiment Name: Create a table where student table delete

E-R Diagram

Input Code:create table product


(
product_no varchar2(6),
product_name varchar2(15) not null,
units char(2),
unit_price number(9,2) not null,
qty_on_hand number(5) default 0,
unit_cost number(5),
constraint pk_product_1
primary key(product_no),
constraint ck_product_3
check(units in('pc','kg')),

constraint ck_product_6
check(unit_cost<unit_price)
);

select * from tab;

drop table product;

desc product;

create table salesman


(
salesman_id varchar2(6),
salesman_name varchar2(15) not null,
s_address varchar2(15) not null,
sex char(1),
m_s char(1),
d_o_b date,
constraint pk_salesman_1
primary key(salesman_id),
constraint ck_salesman_4
check(sex in('M','F')),
constraint ck_salesman_5
check(m_s in('S','M'))
);

create table customer


(
customer_no varchar2(6),
customer_name varchar2(15) not null,
c_address varchar2(15) not null,
constraint pk_customer_1
primary key(customer_no)
);

create table sales


(
order_no varchar2(6),
order_date date default sysdate,
salesman_id varchar2(6),
customer_no varchar2(6),
constraint pk_sales_1
primary key(order_no),
constraint fk_sales_3
foreign key(salesman_id) references salesman(salesman_id),
constraint fk_sales_4
foreign key(customer_no) references customer(customer_no)
);

create table sales_details

(
order_no varchar2(6),
product_no varchar2(6),
sold_qty number(5) default 0,
constraint pk_sales_details_12
primary key(order_no,product_no),
constraint fk_sales_details_1
foreign key(order_no) references sales(order_no),
constraint fk_sales_details_2
foreign key(product_no) references product(product_no)
);

create trigger product_sales


after insert or update or delete
on sales_details for each row
begin
if inserting then
update product
set qty_on_hand=qty_on_hand-:new.sold_qty
where product.product_no=:new.product_no;
elseif updating then
update product
set qty_on_hand=qty_on_hand+:old.sold_qty
where product.product_no=:old.product_no;
update product
set qty_on_hand=qty_on_hand-:new.sold_qty

where product.product_no=:new.product_no;
elseif deleting then
update product
set qty_on_hand=qty_on_hand+:old.sold_qty
where product.product_no=:old.product_no;
end if;
end;
/

drop trigger product_sales;

begin
insert into product
values('p00001','Monitor(LG44i)','pc',5000,50,4500);
insert into product
values('p00002','KB(Mitsumi)','pc',200,100,150);
insert into product
values('p00003','MB(Asus)','pc',2500,30,2000);
insert into product
values('p00004','Mouse','pc',100,100,80);
insert into product
values('p00005','Speaker','pc',750,20,600);
insert into product
values('p00006','Processor','pc',2500,50,2100);
end;
/

select * from product;

begin
insert into salesman
values('s00001','Shafiq','Dhaka','M','S','12-Jan-75');
insert into salesman
values('s00002','Rana','Dhaka','M','S','23-Jul-77');
insert into salesman
values('s00003','Rajib','Comilla','M','S','08-Mar-78');
insert into salesman
values('s00004','Rakib','Comilla','M','S','26-Feb-74');
insert into salesman
values('s00005','Nafis','Dhaka','M','M','10-Feb-69');
insert into salesman
values('s00006','Nazim','Dhaka','M','M','05-Jan-67');
end;
/

select * from salesman;

begin
insert into customer
values('c00001','Asraf','Dhaka');
insert into customer
values('c00002','Raju','Dhaka');

insert into customer


values('c00003','Rumi','Munshiganj');
insert into customer
values('c00004','Asma','Rajshahi');
end;
/

select * from customer;

begin
insert into sales
values('o00001','12-Mar-99','s00006','c00001');
insert into sales
values('o00002','14-Mar-99','s00003','c00002');
insert into sales
values('o00003','14-Mar-99','s00003','c00003');
insert into sales
values('o00004','15-Mar-99','s00002','c00004');
end;
/

select * from sales;

begin
insert into sales_details
values('o00001','p00006',1);

insert into sales_details


values('o00002','p00006',5);
insert into sales_details
values('o00003','p00005',10);
insert into sales_details
values('o00004','p00001',4);
end;
/

alter trigger product_sales disable;

create table Student


(
ID varchar2(7),
Name varchar2(15),
Mobile number(11),
constraint pk_s
primary key(ID)
);

insert into student


values('C113001','Karim',01813187081);

insert into student


values('C113005','Rahim',01712635374);

insert into student


values('C113006','Malek',01827864866);

alter table student


modify(ID varchar2(7));

update student
set Mobile='01710200333'
where ID='C113007';

create table Course


(
CID varchar2(7),
CName varchar2(35),
Credit number(2,1),
constraint pk_c
primary key(CID)
);

insert into Course


values('CSE2405','Computer Algorithm',3);

insert into Course

values('CSE2407','Assembly Language',1);

insert into Course


values('CSE2409','Database System',3);
insert into Course
values('CSE2410','Database System Sessional',1.5);

insert into Course


values('CSE2411','Programming with Java',2);

insert into Course


values('CSE2412','Programming with Java Sessional',1);

create table Result


(
ID varchar2(7),
CID varchar2(7),
Grade char(2),
D_O_R Date,
constraint fk_R_1
foreign key(ID) references student,
constraint fk_R_2
foreign key(CID) references Course

);

insert into Result


values('C113006','CSE2411','A',sysdate);

insert into Result


values('C113006','CSE2407','C',sysdate);

insert into Result


values('C113006','CSE2405','F',sysdate);

insert into Result


values('C113006','CSE2409','A+',sysdate);

insert into Result


values('C113006','CSE2410','B-',sysdate);

create or replace trigger stu


after delete
on student for each row
begin
insert into s_del values(:OLD.ID, :OLD.Name,:OLD.Mobile);
end;
/

drop trigger stu;

delete from Result


where CID='2411';

create trigger stu


after delete
on Result for each row
begin
if deleting then
update Student
set ID=ID+:old.CID
where Student.ID=:old.ID;
end if;
end;

You might also like