Vous êtes sur la page 1sur 3

Department of Computer Science and Engineering

SET –II
Exp:01
Table:Department
Department _ID(PK) Department _Name

Table:Employee
Employee_ID(PK) Employee_Name Employee_Age

Table:Employee_Department
Employee_ID(PK) Department_ID(PK)
FK:Employee_ID references Employee(Employee_ID),Department_ID references Department(Dept_ID)

Table:Building
Building _ID(PK) Building _Name

Table: Department_Building
Department_ID(PK) Building _ID(PK)
FK: Building _ID references Building (Building _ID),Department_ID references Department(Dept_ID)

1. Find the employee names who work in registrar building.


2. Find the employee name who has the second largest age.
3. Update the employee ages by 60 who work in the Computer Science & Engineering Department.

Solution:

1) select Employee_Name from Employee where Employee_ID in ( select Employee_ID from


Employee_Department where Department_ID in ( select Department_ID from Department_Building
where Building_ID in ( select Building_ID from Building where Building_Name=’Registar Building’ )
) ); JOIN diyeo kora jabey

2) select Employee_Name from Employee where Employee_Age = ( select max(Employee_Age) from


Employee where Employee_Age < (select max(Employee_Age) from Employee) );

3) update Employee set Employee_Age = 60 where Employee_ID in ( select Employee_ID from


Employee_Department where Department_ID in ( select Department_ID from Department where
Department_Name = ’ Computer Science & Engineering Department ’ ) );
Table: Employee
Emp_ID(PK) Emp_Name

Table:Account
Emp_ID(PK) Salary

Exp:02
Write a function that will take Emp_ID as parameter and return the Emp_Name and Balance from the
above table.

SOLUTION: salary data type varchar(50) diya korba

CREATE FUNCTION getName_Balance( @ID varchar(50) )


returns varchar(50)

As
Begin
declare @Name varchar(50)
declare @Salary varchar(50)
set @Name = (select Emp_Name from Employee where Emp_ID = @ID );
set @Salary = (select Salary from Account where Emp_ID = @ID);

return @Name + ’ ‘ + @Salary


End

or
in ORACLE

CREATE or REPLACE FUNCTION getName_Balance( @ID varchar(50) )


return varchar(50)

Is
Begin
@Name varchar(50);
@Salary varchar(50);
select Emp_Name into @Name from Employee where Emp_ID = @ID ;
select Salary into @Salary from Account where Emp_ID = @ID ;
return @Name + ’ ‘ + @Salary ;
End getName_Balance

Execution:

select dbo.getName_Balance('4');
or
select dbo.getName_Balance('4') from DUAL;

ORACLE 10G te

Exp:03
Create a Trigger that raises an User Defined Error Message and does not allow updating and Insertion.

Solution in SQL server:

CREATE TRIGGER Trigger_instead_of_Delete


ON Sales_Record
INSTEAD OF UPDATE
AS
BEGIN
PRINT 'DONT have permission to delete from that table.'

END

Vous aimerez peut-être aussi