active database

5
 create table cust(ano varchar(25) primary key,cname varchar(30),cbal number(20,2) not null); create table bank(brid varchar(5) primary key,asset number(20,2)); create table loan(lno varchar(10) primary key,lamt number(20,2),ano varchar(25),brid varchar(25),foreign key(ano) references cust(ano),foreign key(brid) references bank(brid)); create table deposit(ddate date,damt number(20,2),ano varchar(25),brid varchar(5),foreign key(ano) references cust(ano),foreign key(brid) references bank(brid)); insert into cust values('0004','Priya','3000') insert into cust values('0005','Raja','5000') insert into cust values('0006','Rani','7000') insert into bank values('1','100000') insert into bank values('2','200000') insert into bank values('3','300000') insert into loan values('L1','10000','0004','3') insert into loan values('L1','10000','0004','3') insert into deposit values('11-06-2014',10000,'0005','3'); insert into deposit values('11-05-2014',10000,'0004','3'); select * from cust ANO CNAME CBAL 0004 Priya 3000 0006 Rani 7000 0005 Raja 5000 select * from bank BRID ASSET 3 300000 1 100000 2 200000 select * from loan LNO LAMT ANO BRID

Upload: suganya-selvaraj

Post on 09-Oct-2015

14 views

Category:

Documents


0 download

DESCRIPTION

Active Database

TRANSCRIPT

create table cust(ano varchar(25) primary key,cname varchar(30),cbal number(20,2) not null);

create table bank(brid varchar(5) primary key,asset number(20,2));

create table loan(lno varchar(10) primary key,lamt number(20,2),ano varchar(25),brid varchar(25),foreign key(ano) references cust(ano),foreign key(brid) references bank(brid));

create table deposit(ddate date,damt number(20,2),ano varchar(25),brid varchar(5),foreign key(ano) references cust(ano),foreign key(brid) references bank(brid));

insert into cust values('0004','Priya','3000')

insert into cust values('0005','Raja','5000')

insert into cust values('0006','Rani','7000')

insert into bank values('1','100000')insert into bank values('2','200000')insert into bank values('3','300000')

insert into loan values('L1','10000','0004','3')insert into loan values('L1','10000','0004','3')

insert into deposit values('11-06-2014',10000,'0005','3');insert into deposit values('11-05-2014',10000,'0004','3');

select * from cust

ANOCNAMECBAL0004Priya30000006Rani70000005Raja5000

select * from bank

BRIDASSET330000011000002200000

select * from loan

LNOLAMTANOBRIDL11000000043L21500000052

select * from deposit

DDATEDAMTANOBRID11/06/2014100000005311/05/20141000000043

Create or replace trigger t1 after insert on depositfor each row begin if :new.damt>0 thenupdate cust set cbal=cbal+:new.damt where :new.ano=cust.ano;update bank set asset=asset+:new.damt where :new.brid=bank.brid;end if;end;

insert into deposit values('1-06-2014',12000,'0004','3');

select * from deposit;

DDATEDAMTANOBRID11/06/2014100000005301/06/2014120000004311/05/20141000000043

select * from cust;

ANOCNAMECBAL0004Priya150000006Rani70000005Raja5000

select * from bank;

BRIDASSET331200011000002200000

Create or replace trigger t2 after insert on loanfor each row begin if :new.lamt>0 thenupdate cust set cbal=cbal+:new.lamt where :new.ano=cust.ano;update bank set asset=asset-:new.lamt where :new.brid=bank.brid;dbms_output.put_line('customer and bank account updated');end if;end;

insert into loan values('L3','10000','0004','3')

select * from bankBRIDASSET330200011000002200000

select * from cust

ANOCNAMECBAL0004Priya250000006Rani70000005Raja5000

create or replace assertion check (select sum(lamt) from loan)>(select sum(asset) from bank)

ADMISSION DATABASE

create table sa09(dept varchar(10) primary key,dstot number(5),dsa number(5),check(dsa between 0 and dstot));create table ad09(sreg varchar(25),dept varchar(10),sdate date,foreign key(dept) references sa09);

create table vp09(dept varchar(10),vp number,foreign key(dept) references sa09(dept));

insert into sa09 values('BE-ME' , 120 , 0)insert into sa09 values('BE-EEE ', 60 , 1)insert into sa09 values('BE-CIVIL ', 60 , 1)

insert into vp09 values('BE-CIVIL ','59')insert into vp09 values('BE-EEE ','59')insert into vp09 values('BE-ME',120)select * from vp09

DEPTVPBE-CIVIL 59BE-ME120BE-EEE59

Create or replace trigger t3 after insert on ad09for each rowbeginif :new.sreg>0 thenupdate sa09 set dsa=dsa+1 where :new.dept=sa09.dept;update vp09 set vp=vp-1 where :new.dept=vp09.dept;end if;dbms_output.put_line('Seat Allocation and Vacancy position updated');end;

insert into ad09 values('1235','BE-ME','07-29-2013')

Seat Allocation and Vacancy position updated

DEPTDSTOTDSABE-ME1201BE-EEE601BE-CIVIL601

1 row(s) inserted.

SELECT * FROM AD09

SREGDEPTSDATE1235BE-ME07/29/2013

select * from vp09

DEPTVPBE-CIVIL59BE-ME119BE-EEE59

select * from sa09DEPTDSTOTDSA

BE-ME1201

BE-EEE601

BE-CIVIL601