Documente Academic
Documente Profesional
Documente Cultură
INDEX
Date: 16-04-2020
PROGRAM No. 1
AIM: Write a program
to create a function for
employee table and
find average salary.
Code:
Query for creating the
table:
CREATE TABLE
Employee(ID
Varchar(100), FirstName
varchar(100), Lastname
varchar(100), startdate
date, enddate date,
salary integer, city
varchar(100), description
varchar(100));
i A
n
t N
e
g G
e
r U
;
A
B
E G
G
I E
N
SELECT avg(salary)
into avgsal FROM
EMPLOYEE; RETURN p
avgsal;
END; l
$
p
a
Date: 16-04-2020
Output:
COLLEGE OF TECHNOLOGY AND ENGINEERING, UDAIPUR
Date: 17-04-2020
PROGRAM No. 2
Code:
a). Query for calculating the area of circle:
CREATE FUNCTION circle_area(radius INTEGER) RETURNS
INTEGER AS $$
BEGIN
RETURN 3.14*POWER(radius, 2);
END;
$$ LANGUAGE PLPGSQL;
Date: 17-04-2020
Output:
Date: 17-04-2020
Date: 18-04-2020
PROGRAM No. 3
Code:
CREATE OR REPLACE FUNCTION func()
RETURNS void AS
$$
BEGIN
RAISE NOTICE 'This is function func()';
END;
$$ language plpgsql;
Output:
Code:
CREATE FUNCTION factorial(num INTEGER)
RETURNS INTEGER AS $$
BEGIN
if num = 1
then RETURN 1;
else RETURN (num*factorial(num-1));
end if;
END;
$$ language plpgsql;
Output:
Date: 23-04-2020
PROGRAM No. 5
Code:
CREATE OR REPLACE FUNCTION proc()
RETURNS void AS $$
BEGIN
RAISE NOTICE 'proc() called successfully!';
END;
$$ language plpgsql;
Output:
Date: 24-04-2020
PROGRAM No. 6
Code:
Query for creating the table:
CREATE TABLE Employee(ID Varchar(100), First_name varchar(100),
Last_name varchar(100), start_date date, end_date date, salary integer,
city varchar(100), description varchar(100));
Output:
Date: 24-04-2020
Code:
CREATE OR REPLACE FUNCTION
EmployeeSalaryInfo(empFirstName VARCHAR, empLastName
VARCHAR) RETURNS VARCHAR AS $$
DECLARE currentEmpSalary INTEGER;
maxEmpSalary INTEGER;
fullPercentage INTEGER;
BEGIN
SELECT salary INTO currentEmpSalary FROM Employee WHERE
first_name = empFirstName AND last_name = empLastName;
SELECT MAX(salary) INTO maxEmpSalary FROM Employee;
fullPercentage = (currentEmpSalary*100/maxEmpSalary);
IF fullPercentage = 100 THEN RETURN 'Full';
ELSIF fullPercentage > 80 THEN RETURN 'Some Room';
ELSIF fullPercentage > 60 THEN RETURN 'More Room';
ELSIF fullPercentage > 0 THEN RETURN 'Lots of Room';
ELSE RETURN 'Empty';
END IF;
END;
$$ LANGUAGE plpgsql;
Output:
Date: 25-04-2020
PROGRAM No. 8
Code:
Query for creating the table:
CREATE TABLE Employee(ID Varchar(100), First_name varchar(100),
Last_name varchar(100), start_date date, end_date date, salary integer,
city varchar(100), description varchar(100));
Output:
Date: 25-04-2020