Professional Documents
Culture Documents
Password:
-bash-4.1$ psql
psql (8.4.5)
CREATE DATABASE
postgres=# \c person4
psql (8.4.5)
postgres=# \c person4
psql (8.4.5)
CREATE TYPE
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "area_pkey" for table "area"
CREATE TABLE
person4=# create table person(pno int primary key,pname varchar(20),bday date,income int,aname
varchar(20) references area);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "person_pkey" for table
"person"
CREATE TABLE
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
aname | atype
----------+-------
Pune | urban
Mumbai | urban
Nashik | urban
Nagpur | urban
Kolhapur | rural
Nagar | rural
(6 rows)
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
-----+----------+------------+--------+----------
(6 rows)
pname
-------
Ashok
(1 row)
-------
Ashok
Amol
(2 rows)
count
-------
(1 row)
count
-------
(1 row)
person4=# select count(pname) from person where income between 25000 and 50000;
count
-------
(1 row)
-----+----------+------------+--------+----------
(6 rows)
UPDATE 1
pname | avg
----------+------------------------
Prashant | 28500.000000000000
Ashok | 40000.000000000000
Pratik | 15500.0000000000000000
Amol | 25500.000000000000
Shiva | 25500.000000000000
(5 rows)
person4=# delete from person where aname in ( select aname from area where atype='urban');
DELETE 4
person4-# ;
-----+----------+------------+--------+----------
(2 rows)
-----+----------+------------+--------+----------
(2 rows)
pname | ?column?
----------+----------
Prashant | f
Prashant | t
(2 rows)
person4=# \q
-bash-4.1$ psql
psql (8.4.5)
CREATE DATABASE
postgres=# \c movie4
psql (8.4.5)
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "movie_pkey" for table
"movie"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "actor_pkey" for table "actor"
CREATE TABLE
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "prod_pkey" for table "prod"
CREATE TABLE
movie4=# create table ma(mname varchar(20) references movie ,aname varchar(20) references actor);
CREATE TABLE
movie4=# create table mp(mname varchar(20) references movie ,pid int references prod);
CREATE TABLE
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
movie4-# ;
-----------+------+---------
(6 rows)
---------+---------+---------+--------
(5 rows)
-----+---------+--------
(5 rows)
mname | aname
-----------+---------
DDLJ | SRK
Don | SRK
HPKD | Varun
Kick | SK
DDLJ | Sarang
Dabang | SK
Dabang | Bogambo
(8 rows)
mname | pid
--------+-----
DDLJ | 101
DDLJ | 103
HPKD | 102
Don | 102
Don | 104
Dabang | 105
Kick | 104
(7 rows)
movie4=# select aname from ma where mname in(select mname from ma where aname='SRK');
aname
--------
SRK
Sarang
(3 rows)
movie4=# select mname,budget from movie where budget in(select max(budget) from movie);
mname | budget
-------+---------
Kick | 6500000
(1 row)
aname | count
-------+-------
SRK | 3
(1 row)
mname
-------
Don
DDLJ
(2 rows)
movie4=# select aname from actor where charges in(select max(charges) from actor);
aname
-------
SK
(1 row)
pname
--------
Sanjay
Karan
(2 rows)
aname
-------
SRK
Varun
SK
(3 rows)
movie4=# \q
===========================================================================
postgres=# \c bank4;
psql (8.4.5)
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "branch_pkey" for table
"branch"
CREATE TABLE
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "customer_pkey" for table
"customer"
CREATE TABLE
bank4=# create table la(lano int primary key,reqmoney text,appmoney text,ladate date);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "la_pkey" for table "la"
CREATE TABLE
-----+-------+-------
(0 rows)
-----+-------+-------+-------
(0 rows)
------+----------+----------+--------
(0 rows)
bank4=# create table BCL(bid int references branch,cno int references customer,lano int references
la);CREATE TABLE
-----+-----+------
(0 rows)
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
------+----------+--------
1005 | MG Rd | Pune
(7 rows)
-----+-----------+----------------+--------
UPDATE 1
UPDATE 1
max
------------
$20,000.00
(1 row)
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
------+----------+------------+------------
(10 rows)
ALTER TABLE
ALTER TABLE
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
------+------------+------------+------------
(10 rows)
-----+-----+------
(0 rows)
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
------+-----+------
(10 rows)
bank4=# select cname from customer where cno in(select cno from BCL where bid in(select bid from
branch where bid=1001));
cname
--------
Akshay
(1 row)
bank4=# select cname from customer where cno in(select cno from BCL where lano in(select lano from
la where appmoney<reqmoney));
cname
---------
Patil
Pandey
Dave
Gambhir
Kumar
(6 rows)
max
------------
$55,000.00
(1 row)
bank4=# select sum(appmoney) from la where lano in(select lano from BCL where bid in(select bid from
branch where bid=1002));
sum
------------
$30,000.00
(1 row)
bank4=# select count(cname) from customer where cno in(select cno from BCL where bid in(select bid
from branch where bid=1005));
count
-------
(1 row)
cname | bname
---------+--------
Patil | Deccan
Pandey | Colaba
Gambhir | MG Rd
Kumar | MG Rd
(5 rows)
postgres-# ;
CREATE DATABASE
postgres=#
postgres=#
postgres=# \c
psql (8.4.5)
postgres=# \c student4
psql (8.4.5)
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "student_pkey" for table
"student"
CREATE TABLE
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "teacher_pkey" for table
"teacher"
student4=# create table ST(sno int references student,tno int references teacher,subject varchar(20));
CREATE TABLE
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
student4-# ;
-----+---------+--------+--------
(10 rows)
-----+-----------+---------------+------------
2 | Mr.Navle | Msc | 5
3 | Mrs.Joshi | Bca | 2
4 | Mrs.Patil | Mca | 5
5 | Mr.Patil | Bca | 1
(5 rows)
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
-----+-----------+---------------+------------
1 | Mr.Joshi | Bsc | 3
5 | Mr.Patil | Bca | 1
3 | Mrs.Joshi | BCA | 2
2 | Mr.Navle | Ph.D | 5
4 | Mrs.Patil | Ph.D | 5
(5 rows)
-----+-----+---------
101 | 1 | DS
103 | 1 | RDBMS
103 | 2 | RDBMS
103 | 3 | DS
104 | 4 | DS
105 | 5 | DS
106 | 5 | DS
107 | 5 | DBMS
108 | 5 | DBMS
109 | 4 | DBMS
110 | 1 | DS
(12 rows)
student4=# select tname from teacher where experience in(select min(experience) from teacher);
tname
----------
Mr.Patil
(1 row)
count
-------
(1 row)
tname | subject
-----------+---------
Mrs.Joshi | DS
Mr.Joshi | DS
Mr.Patil | DBMS
Mr.Patil | DS
Mrs.Patil | DS
Mr.Navle | RDBMS
Mr.Joshi | RDBMS
(8 rows)
student4=# select sname,subject from student,ST where student.sno=ST.sno and tno in(select tno from
teacher where tname='Mr.Patil');
sname | subject
--------+---------
Jayesh | DS
Rakesh | DS
Vikesh | DBMS
Mikesh | DBMS
(4 rows)
student4=# select tname from teacher where tno in(select tno from ST Where sno in(select sno from
student where sname='Suresh'));
tname
-----------
Mr.Joshi
Mrs.Joshi
Mr.Navle
(3 rows)
-----------+-------
Mrs.Patil | 2
Mr.Patil | 4
Mrs.Joshi | 1
Mr.Navle | 1
Mr.Joshi | 4
(5 rows)
student4=#
CREATE DATABASE
postgres=# \c project4;
psql (8.4.5)
project4=# create table project(pno int primary key,pname varchar(20),ptype varchar(20),duration int);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "project_pkey" for table
"project"
CREATE TABLE
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "employee_pkey" for table
"employee"
CREATE TABLE
project4=# create table PE(pno int references project,eno int references employee,startdate date,hours int);
CREATE TABLE
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
INSERT 0 1
project4-# ;
------+-------------+-------------+----------
(5 rows)
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
-----+-------------+-------------+----------
(5 rows)
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
------+--------+---------------+------------
(8 rows)
-----+-------------+-------------+----------
(5 rows)
-----+-----+-----------+-------
(0 rows)
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
(8 rows)
ename
--------
Amol
Amok
Akshay
(3 rows)
project4=# select * from employee where eno in(select eno from PE where PE.pno in(select pno from
project where pname='System'));
------+--------+---------------+------------
(2 rows)
project4=# select eno from employee where eno in(select eno from PE where PE.pno in(select pno from
project where pname!='Robotics'));
------
1000
1500
2000
3000
4000
4500
(6 rows)
project4=# select eno from employee where eno in(select eno from PE where pno in(select pno from PE
where eno=2000));
eno
------
2000
3000
(2 rows)
ename
--------
Akshay
Amok
Amol
(3 rows)
project4=# select ename from employee where eno in(select eno from PE where pno in(select pno from
project where duration>3));
ename
Amol
Amok
Nitesh
Mohit
(4 rows)
===========================================================================
Assignment 3 : Views
Password:
-bash-4.1$ psql
psql (8.4.5)
postgres=# \c bank4;
postgres=# \c bank4;
psql (8.4.5)
------+----------------------+-------------------------------------+----------------------
(6 rows)
------+----------------+----------------+------------
-------+------+------
101 | 3 | 141
101 | 1 | 161
102 | 1 | 171
102 | 6 | 151
103 | 2 | 121
103 | 5 | 161
104 | 2 | 131
(8 rows)
c_no | c_name
------+----------------------
1 | Raj
1 | Raj
6 | Kartik
5 | Preeti
(4 rows)
c_no | c_name
------+----------------------
1 | Raj
1 | Raj
6 | Kartik
5 | Preeti
(4 rows)
c_no
------
(4 rows)
-------+--------------------------------+------------
(5 rows)
bank4'# ^C
INSERT 0 1
INSERT 0 1
INSERT 0 1
ERROR: insert or update on table "b_c_l" violates foreign key constraint "b_c_l_l_no_fkey"
INSERT 0 1
INSERT 0 1
CREATE VIEW
------+----------------+----------------+------------
(3 rows)
CREATE VIEW
------+----------------------+----------------
1 | Raj | $500,000.00
1 | Raj | $300,000.00
6 | Kartik | $200,000.00
5 | Preeti | $500,000.00
2 | Disha | $500,000.00
4 | Jay | $500,000.00
(6 rows)
c_no | c_name
------+----------------------
1 | Raj
5 | Preeti
2 | Disha
4 | Jay
(4 rows)
------+----------------+----------------+------------
(2 rows)
bank4=# select L_no,L_amt_required from v2 where L_no in(select L_no from v2);
l_no | l_amt_required
------+----------------
110 | $500,000.00
191 | $50,000.00
181 | $500,000.00
(3 rows)
------+----------------+----------------+------------
(3 rows)
bank4=# select distinct L_amt_required from v2 where L_no in(select L_no from v2);
l_amt_required
----------------
$50,000.00
$500,000.00
(2 rows)
bank4=# select L_no,L_amt_required from v2 where L_no =(select L_no from v2);
bank4=# select L_no,L_amt_required from v2 where L_no =all(select L_no from v2);
l_no | l_amt_required
------+----------------
(0 rows)
bank4=# select L_no,L_amt_required from v2 where L_no =some(select L_no from v2);
l_no | l_amt_required
------+----------------
110 | $500,000.00
191 | $50,000.00
181 | $500,000.00
(3 rows)
bank4=# select L_no,L_amt_required from v2 where L_no =any(select L_no from v2);
l_no | l_amt_required
------+----------------
110 | $500,000.00
181 | $500,000.00
(3 rows)
bank4=# select L_no,L_amt_required from v2 where L_no =(select L_no from v2);
bank4=# select L_no,L_amt_required from v2 where L_amt_required in(select L_amt_required from v2);
l_no | l_amt_required
------+----------------
110 | $500,000.00
191 | $50,000.00
181 | $500,000.00
(3 rows)
l_no | l_amt_required
------+----------------
110 | $500,000.00
191 | $50,000.00
181 | $500,000.00
(3 rows)
bank4=# select L_no,L_amt_required from v2 where L_amt_required in(select L_amt_required from v2);
l_no | l_amt_required
110 | $500,000.00
191 | $50,000.00
181 | $500,000.00
(3 rows)
bank4=# select L_no,L_amt_required from v2 where L_amt_required in(select L_amt_required from v2);
l_no | l_amt_required
------+----------------
110 | $500,000.00
191 | $50,000.00
181 | $500,000.00
(3 rows)
l_amt_required
----------------
$500,000.00
$50,000.00
$500,000.00
(3 rows)
l_amt_required
----------------
$500,000.00
$50,000.00
$500,000.00
(3 rows)
l_no
------
110
191
181
(3 rows)
l_no
------
191
110
181
(3 rows)
l_no
------
191
110
181
(3 rows)
l_no | l_amt_required
------+----------------
110 | $500,000.00
(2 rows)
bank4=#
Assignment 3 : Views
CREATE VIEW
emp_name | qualification
----------------------+---------------------------------------------------
Ananya | BCA
Ashwini | MCA
Alok | MCA
Preeti | Mcom
Deepali | MCS
Deepak | MCS
Anand | PG
Rajesh | PG
(8 rows)
CREATE VIEW
--------------------------------+---------------------+-----------
(9 rows)
qualification
----------------------------------------------------
BCA
MCA
Mcom
MCS
PG
(5 rows)
p_name | p_type
--------+-------
(0 rows)
p_name | p_type
--------------------------------+---------------------
Samsung | Commercial
Samsung | Commercial
Samsung | Commercial
(4 rows)
emp_name | qualification
----------------------+---------------------------------------------------
Alok | MCA
Ashwini | MCA
(2 rows)
project4=#
Assignment 3 : Views
project4=# \c buisness4;
psql (8.4.5)
------+--------------------------------+------------+---------
(8 rows)
---------+----------------------+----------------------+----------------+-------------+------
(6 rows)
dept_no | dept_name
---------+----------------------
c1 | Electronics
c2 | Computer
c3 | Statistics
c4 | Mathematics
c5 | English
(5 rows)
1 | $21,000.00 | 111
2 | $23,000.00 | 112
4 | $10,000.00 | 114
5 | $25,000.00 | 115
6 | $15,000.00 | 116
7 | $7,000.00 | 117
(6 rows)
CREATE VIEW
------+--------------------------------+------------
(2 rows)
CREATE VIEW
--------------------------------+---------+------------
(6 rows)
------+--------------------------------+------------
(1 row)
------+--------------------------------+------------
(2 rows)
--------------------------------+---------+------------
(6 rows)
--------------------------------
Mr.Patil
Mr.Chawan
Mr.Patil
(3 rows)
CREATE VIEW
buisness4=# select v1.s_name from v1,v3 where v1.s_no=v3.s_no and amount in(select sum(amount)
from v3 group by trip_no buisness4=# select v1.s_name from v1,v3 where v1.s_no=v3.s_no and
amount>'$10000';
s_name
--------------------------------
Mr.Patil
Mr.Chawan
Mr.Patil
(3 rows)
s_name
--------------------------------
Mr.Chawan
(1 row)
------+--------------------------------+------------
(2 rows)
------+--------------------------------+---------+------------
(6 rows)
CREATE VIEW
------+--------------------------------+---------+----------------------+----------------------+------------
(6 rows)
s_name
--------------------------------
Mr.Malhotra
Mr.Das
(2 rows)
buisness4=#
Assignment 3 : Views
------+---------------------+---------------------
(3 rows)
CREATE VIEW
------+---------------------+---------------------+----
------+---------------------------------------------------+------------+---------------------
(6 rows)
------+-----------+-----
(6 rows)
UPDATE 0
UPDATE 0
UPDATE 1
UPDATE 1
------+-----------+-----
(6 rows)
CREATE VIEW
------+---------------------------------------------------+-----------+---------------------
(2 rows)
c_name
----------------------------------------------------
Mr.Patil
Assignment 3 : Views
Password:
-bash-4.1$ psql
psql (8.4.5)
postgres=# \c student4;
psql (8.4.5)
------+----------------------+-----------------+------------
1 | Mr.Patil | Ph.D | 7
2 | Mr.More | Ph.D | 5
3 | Mrs.Sharma | PG | 4
4 | Mr.Kulkarni | MCS | 3
5 | Mrs.Joshi | Ph.D | 10
(7 rows)
------+------+--------------------------------
101 | 2 | Comp.Sci
104 | 2 | DS
105 | 3 | RDBMS
102 | 3 | RDBMS
107 | 5 | Statistics
105 | 6 | Accounts
107 | 6 | SP
104 | 7 | English
106 | 7 | Marathi
(13 rows)
------+----------------------+-----------------+------------
4 | Mr.Kulkarni | MCS | 3
(1 row)
------+----------------------+-----------------+------------
1 | Mr.Patil | Ph.D | 7
(1 row)
------+----------------------+-----------------+------------
1 | Mr.Patil | Ph.D | 7
1 | Mr.Patil | Ph.D | 7
1 | Mr.Patil | Ph.D | 7
(3 rows)
UPDATE 2
UPDATE 2
------+----------------------+-----------------+------------
1 | Mr.Patil | Ph.D | 7
1 | Mr.Patil | Ph.D | 7
1 | Mr.Patil | Ph.D | 7
2 | Mr.More | Ph.D | 5
2 | Mr.More | Ph.D | 5
3 | Mrs.Sharma | PG | 4
3 | Mrs.Sharma | PG | 4
(7 rows)
------+----------------------+-----------------+------------
1 | Mr.Patil | Ph.D | 7
2 | Mr.More | Ph.D | 5
3 | Mrs.Sharma | PG | 4
(3 rows)
CREATE VIEW
------+----------------------+-----------------+------------
1 | Mr.Patil | Ph.D | 7
1 | Mr.Patil | Ph.D | 7
1 | Mr.Patil | Ph.D | 7
2 | Mr.More | Ph.D | 5
2 | Mr.More | Ph.D | 5
3 | Mrs.Sharma | PG | 4
3 | Mrs.Sharma | PG | 4
(7 rows)
CREATE VIEW
------+----------------------+-----------------+------------
2 | Mr.More | Ph.D | 5
3 | Mrs.Sharma | PG | 4
(3 rows)
------+--------+---------+-------+------
(0 rows)
------+--------------------------------+------------+----------------------------------------------------+------
(6 rows)
CREATE VIEW
------+--------------------------------+------------+----------------------------------------------------+------
(6 rows)
max
-----
(1 row)
max
-----
(3 rows)
t_name
----------------------
Mr.Patil
(1 row)
--------------------------------
Prakash
Raj
Pooja
(3 rows)
s_name
--------------------------------
Raj
Pooja
(2 rows)
===========================================================================
begin
select count(c_no) into cnt from B_C_L where br_id in(select br_id from Branch where br_name=nm);
return cnt;
end; '
language 'plpgsql';
CREATE FUNCTION
tcust
(1 row)
...................................................................................
begin
return lmax;
end; '
language 'plpgsql';
CREATE FUNCTION
maximum
-------------
$450,000.00
(1 row)
declare p int;
begin
return p;
language 'plpgsql';
CREATE FUNCTION
cntemp
--------
(1 row)
..............................................................
declare n int;
begin
return n;
end; $$
language 'plpgsql';
CREATE FUNCTION
num4
------
(1 row)
begin
return m;
end; '
language 'plpgsql';
CREATE FUNCTION
maxexp
------------
$25,000.00
(1 row)
declare c int;
begin
return c;
end; $$
language 'plpgsql';
CREATE FUNCTION
tripcnt
---------
(1 row)
ware4=# \d
List of relations
--------+-----------+-------+----------
(8 rows)
city | state
-----------+-------------
Pune | Maharashtra
Mumbai | Maharashtra
New.Delhi | Delhi
Kolhapur | Maharashtra
Banglore | Karnataka
(5 rows)
-----+-----------+----------+-----------
(8 rows)
ino | ono | oq
-----+-----+----
111 | 11 | 11
222 | 22 | 22
333 | 33 | 33
444 | 44 | 44
555 | 55 | 55
666 | 66 | 66
777 | 77 | 77
888 | 88 | 88
(8 rows)
-----+-------------+--------+--------
(8 rows)
-----+------------+-----
11 | 2014-12-12 | 1
22 | 2014-11-11 | 2
33 | 2014-10-10 | 3
44 | 2014-09-09 | 4
55 | 2014-08-08 | 5
66 | 2014-07-07 | 6
77 | 2014-08-08 | 7
88 | 2014-05-05 | 8
(8 rows)
------+-----+----------
1001 | 111 | 11
1002 | 222 | 22
1004 | 444 | 44
1005 | 555 | 55
1006 | 666 | 66
1007 | 777 | 77
1008 | 888 | 88
1009 | 111 | 99
1010 | 111 | 19
(10 rows)
------+------------+-----------+-----
(10 rows)
(8 rows)
CREATE LANGUAGE
1)
wn char(30);
Begin
open c1;
loop
end loop;
close c1;
end '
language 'plpgsql';
fun2
------
(1 row)
2)
declare c3 cursor for select ino,description from items where cost between 500 and 1000;
ino int;
d text;
begin
open c3;
loop
raise notice''description:%'',d;
end loop;
close c3;
end '
language 'plpgsql';
CREATE FUNCTION
NOTICE: description:Metal
NOTICE: description:Ceramic
NOTICE: description:Laminate
fun4
------
(1 row)
Assignment 5 : Cursor
postgres=# \c company4
psql (8.4.5)
CREATE TABLE
CREATE TABLE
CREATE TABLE
company4=# \d
--------+---------+-------+----------
(3 rows)
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
------------+------+------------+---------------
(5 rows)
pname | pcity
------------+--------
Rahul | pune
Vidhyadhar | pune
darshan | mumbai
shiva | mumbai
(5 rows)
------------+------------+--------------
infosys | Rahul | 10
infosystem | Vidhyadhar | 25
infotec | darshan | 5
info | sachin | 15
wipro | shiva | 12
(5 rows)
count | sum
-------+-----------------
25 | $150,000,000.00
(1 row)
sum
-----------------
$150,000,000.00
(1 row)
count | sum
-------+----------------
(1 row)
2)
cnt int;
sm money;
begin
open c10;
loop
end loop;
close c10;
end '
language 'plpgsql';
CREATE FUNCTION
NOTICE: Count : 5
NOTICE: Sm : $30,000,000.00
f11
-----
(1 row)
p varchar(30);
n int;
begin
open cb1;
loop
end loop;
close cb1;
end '
language 'plpgsql';
CREATE FUNCTION
b11
-----
(1 row)
------------+------------+--------------
infosystem | Vidhyadhar | 25
infotec | darshan | 5
infosys | Rahul | 25
info | sachin | 0
(5 rows)
company4=#
Assignment 5 : Cursor
-----+-----+---------------+------
(5 rows)
scode | sname
-------+-------------
1 | Science
2 | Comp.Science
3 | Electronics
(3 rows)
-----+------+------
101 | 1 | 80
102 | 1 | 85
103 | 1 | 81
104 | 2 | 76
105 | 3 | 71
104 | 1 | 69
105 | 1 | 79
101 | 2 | 79
101 | 3 | 89
102 | 2 | 71
102 | 3 | 72
103 | 2 | 76
103 | 3 | 64
104 | 3 | 69
105 | 2 | 89
(15 rows)
marks4=#
1)
declare c11 cursor for select name,subject,marks from student,subject,ss where student.rno=ss.rno and
subject.scode=ss.scode and addrs=''Sadhashiv Peth'';
n varchar(20);
s varchar(20);
m int;
begin
loop
raise notice''Name:%'',n;
raise notice''Marks:%'',m;
end loop;
close c11;
end '
language 'plpgsql';
CREATE FUNCTION
c1
----
(1 row)
NOTICE: Name:ABC
NOTICE: Marks:80
NOTICE: Name:DEF
NOTICE: Marks:85
NOTICE: Name:GHI
NOTICE: Name:JKL
NOTICE: Marks:76
NOTICE: Name:MNO
NOTICE: Marks:71
c1
----
(1 row)
2)
r int;
s int;
m int;
p float;
begin
open c21;
loop
p=(m*100)/(s*100);
raise notice''Percentage:%'',p;
close c21;
end '
language 'plpgsql';
CREATE FUNCTION
NOTICE: Percentage:73
NOTICE: Percentage:82
NOTICE: Percentage:79
NOTICE: Percentage:71
NOTICE: Percentage:76
c22
-----
(1 row)
railway4=# \d
List of relations
--------+-----------+-------+----------
(3 rows)
-----+------------+------+-----+--------
(4 rows)
-----+-----+-----------+------+-----------+------------+------------+--------+------------
101 | 11 | 1 | 12 | 5 | 2009-05-03 | | |
102 | 22 | 2 | 15 | 3 | 2009-04-02 | | |
(6 rows)
-----+-----------------+----------+----------+--------+-----------+--------------+-----------------
(4 rows)
railway4=#
1)
declare cf1 cursor for select pname from passenger where pid in(select pid from ticket where da=''2010-
05-03'' and status=''c'');
paname char(20);
begin
open cf1;
loop
end loop;
close cf1;
end '
language 'plpgsql';
fu1
-----
(1 row)
2)
declare cf2 cursor for select count(pname) from passenger where pid in(select pid from ticket where
date=''2010-05-03'' and status=''w'');
cnt int;
begin
open cf2;
loop
end loop;
close cf2;
end '
language 'plpgsql';
CREATE FUNCTION
NOTICE: Total: 2
fu4
-----
Assignment 5 : Cursor
buss4=# \d
List of relations
--------+--------+-------+----------
(4 rows)
buss4-# ;
-----+-----+------------+-------
11 | 1 | 2009-05-03 | m
22 | 2 | 2009-04-03 | e
33 | 3 | 2009-03-03 | m
(3 rows)
-----+----------+------------+-----
11 | 40 | shivam | 101
22 | 30 | shivshakti | 102
(3 rows)
-----+-----------+------------+----------------------+-------+--------
(3 rows)
-----+----------------------+----------------------+----------------
(3 rows)
-----------+------------+--------
(3 rows)
buss4=# \d driver;
Table "public.driver"
------------+-----------------------+-----------
licenes_no | integer |
addr | character(20) |
d_age | integer |
1)
n varchar(20);
l int;
s float;
begin
open e11;
loop
raise notice''Salary:%'',s;
end loop;
close e11;
end '
language 'plpgsql';
NOTICE: Salary:2000
NOTICE: Salary:4000
NOTICE: Salary:5000
e1
----
(1 row)
2)
declare e21 cursor for select source,destination from route where rno=101;
declare e22 cursor for select source,destination from route where rno=102;
s char(20);
d char(20);
sa char(20);
da char(20);
begin
open e21;
loop
raise notice''Source:%'',s;
raise notice''Destination:%'',d;
end loop;
close e21;
open e22;
loop
raise notice''Source:%'',sa;
raise notice''Destinatio:%'',da;
end loop;
close e22;
end '
language 'plpgsql';
CREATE FUNCTION
NOTICE: Source:xyz
NOTICE: Destination:abc
NOTICE: Source:pqr
NOTICE: Destinatio:efg
e2
----
(1 row)
buss4=#
1)
cnt int;
begin
loop
if(rec.bname<>nm)then
raise notice''Invalid'';
else
select count(cno) into cnt from bcl where bid in(select bid from branch where rec.bname=nm);
end if;
end loop;
return'' '';
end '
language 'plpgsql';
CREATE FUNCTION
NOTICE: Invalid
NOTICE: Invalid
NOTICE: Invalid
NOTICE: Invalid
NOTICE: Invalid
f1
----
(1 row)
2)
begin
loop
if(rec.appmoney<''$10000'')then
else
end if;
end loop;
return '''';
end'
language'plpgsql';
CREATE FUNCTION
f2
----
(1 row)
1)
n int;
begin
select hours into n from pe where pno in(select pno from project where pname=''Electronics'');
update pe set hours=hours-2 where pno in(select pno from project where pname=''Electronics'');
if(n-2=0)then
end if;
return'' '';
end'
language 'plpgsql';
CREATE FUNCTIO
NOTICE: number : 8
----
(1 row)
project4=#
1)
declare
rec record;
nm driver.dname%type;
begin
loop
if(rec.duty_date<>d)then
else
select dname into nm from driver where dno in(select dno from bd where shift=''m'' and shift=''e'' and
duty_date=d);
end if;
end loop;
raise notice''dname=%'',nm;
return'' '';
end'
language 'plpgsql';
CREATE FUNCTION
NOTICE: dname=<NULL>
f4
----
(1 row)
buss4=#
2)
name driver.dname%type;
begin
loop
if(rec.bno<>b)then
raise notice''invalid'';
else select dname into name from driver where dno in(select dno from bd where bno=b and
duty_date=dt);
end if;
end loop;
end'
language 'plpgsql';
CREATE FUNCTION
-----+----+-----------+------
22 | 2 | 2009-04-03 | e
33 | 3 | 2009-03-03 | m
(2 rows)
NOTICE: invalid
f5
----
(1 row)
==========================================================================
Assignment 7 : Triggers
-----+------+---------
103 | GHI | 50
(5 rows)
(3 rows)
supplier4-# ;
-----+----+----------
101 | 1 | $1,000.00
101 | 1 | $2,000.00
102 | 1 | $1,500.00
103 | 2 | $2,500.00
104 | 2 | $500.00
105 | 3 | $1,500.00
(6 rows)
--------------------------------------------------------------------------
1)
begin
if(new.rate-old.rate)>''$2000'' then
end '
language 'plpgsql';
supplier4=# create trigger t3 before insert or update on itemsupplier for each row execute procedure a1();
CREATE TRIGGER
UPDATE 1
2)
begin
end '
language 'plpgsql';
CREATE FUNCTION
supplier4=# create trigger T11 before insert or update on itemsupplier for each row execute procedure
a2();
CREATE TRIGGER
Assignment 7 : Triggers
student4=# \d
List of relations
--------+---------+-------+----------
(6 rows)
1)
student4'# begin
CREATE FUNCTION
student4=# create trigger t1 before delete on student for each row execute procedure f5();
CREATE TRIGGER
-----+---------+--------+--------
(10 rows)
student4=#
2)
begin
end if;
return new;
end '
language 'plpgsql';
CREATE FUNCTION
student4=# create trigger t4 before insert or update on ss for each row execute procedure f6();
CREATE TRIGGER
INSERT 0 1
student4=#
Assignment 7 : Triggers
Password:
-bash-4.1$ psql
psql (8.4.5)
postgres-# ;
CREATE DATABASE
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "newspaper_pkey" for table
"newspaper"
CREATE TABLE
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "cities_pkey" for table "cities"
CREATE TABLE
CREATE TABLE
(0 rows)
---------+------+-------
(0 rows)
name | pincode
------+---------
(0 rows)
DROP TABLE
CREATE TABLE
------+---------+-----------
(0 rows)
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
-------+----------+-----------+-------
(3 rows)
---------+--------+-------------
(3 rows)
-------+---------+-----------
(3 rows)
postgres=#
postgres=# \q
-bash-4.1$ psql
psql (8.4.5)
postgres=#
1)
begin
end if;
return new;
end '
language 'plpgsql';
CREATE FUNCTION
create trigger t1 before insert on cities for each row execute procedure t11();
CREATE TRIGGER
INSERT 0 1
paper4=#
2)
begin
if old.state=''Maharashtra'' then
end if;
return old;
end '
language 'plpgsql';
CREATE FUNCTION
paper4=# create trigger t2 before delete on cities for each row execute procedure t12();
CREATE TRIGGER
---------+---------+-------------
DELETE 1
Assignment 7 : Triggers
1)
begin
if new.a_time<new.d_time then
end if;
return new;
end '
language 'plpgsql';
CREATE FUNCTION
create trigger t2 before insert or update on train for each row execute procedure t1();
CREATE TRIGGER
INSERT 0 1
2)
railway4=# create trigger t8 before insert or update on ticket for each row execute procedure f1();
-----+-----+-----------+------+-----------+------------+------------+--------+------------
101 | 11 | 1 | 12 | 5 | 2009-05-03 | | |
102 | 22 | 2 | 15 | 3 | 2009-04-02 | | |
(6 rows)
begin
if old.status!=new.status then
end if;
return old;
end
'
language 'plpgsql';
CREATE FUNCTION
railway4=# create trigger t before insert or update on ticket for each row execute procedure f1();
CREATE TRIGGER
UPDATE 1
Assignment 7 : Triggers
1)
-----+----------+-----------+---------------------+------+-------
(3 rows)
1)
begin
end '
language 'plpgsql';
CREATE FUNCTION
buss4=# create trigger t1 after insert or update on driver for each row execute procedure agep();
CREATE TRIGGER
INSERT 0 1
-----+----------+-----------+---------------------+------+-------
(4 rows)
UPDATE 1
-----+----------+-----------+---------------------+------+-------
(4 rows)
2)
begin
if old.capacity>10 then
end if;
return old;
end '
language 'plpgsql';
CREATE FUNCTION
buss4=# create trigger t22 after delete on bus for each row execute procedure c1();
CREATE TRIGGER
INSERT 0 1
-----+---------+-----------+----
22 | 30 | shivshakti | 102
33 | 50 | shiv | 103
44 | 9 | abc | 101
55 | 8 | abc | 101
(4 rows)
DELETE 1
ERROR: invalid(33,50,shiv,103)
===========================================================================