0% found this document useful (0 votes)
31 views7 pages

Bai Tap 1

ƯFW

Uploaded by

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

Bai Tap 1

ƯFW

Uploaded by

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

Bai tap 1 :

cau 1 :
create function cau1(@MaLoTrinh nvarchar(10))
returns table
AS
return(
select 'So xe'=Soxe, 'Ma trong tai'=MaTrongTai, 'So luong van tai'=SoLuongVT,
'Ngay di'=Ngaydi, 'Ngay den'=Ngayden
from ChiTietVanTai
where @MaLoTrinh=MaLoTrinh)
select *from cau1('PK')

Cau 2 :
create function cau2(@Soxe int)
returns table
as
return(
select
'Ma lo trinh'=MaLoTrinh, 'Ma trong
tai '=MaTrongTai, 'So luong van tai'=SoluongVT, 'Ngay
di '=Ngaydi, 'Ngay đen'=Ngayden
from ChiTietVanTai
where @Soxe=Soxe)
select *from cau2(333)

Cau 3 :
create function cau3(@trongtai int)
returns table
as
return (
select distinct 'So xe'=Soxe
from ChiTietVanTai a join TrongTai b on
a.matrongtai=b.matrongtai
where b. trongtaiQD>=@trongtai)
select *from cau3(3)

Cau 4 :
CREATE FUNCTION cau4(@MaTrongTai INT, @MaLoTrinh NVARCHAR(10))
RETURNS TABLE
AS
RETURN (
SELECT COUNT(Soxe) AS 'So luong xe'
FROM ChiTietVanTai
WHERE MaLoTrinh = @MaLoTrinh
AND MaTrongTai >= @MaTrongTai
);
SELECT * FROM cau4(50, 'PK');

Cau 5 :
CREATE PROCEDURE cau5 (
@malotrinh NVARCHAR(10),
@soluong INT OUTPUT
)
AS
BEGIN
SELECT @soluong = COUNT(DISTINCT soxe)
FROM ChiTietVanTai
WHERE MaLoTrinh = @malotrinh;
END;
GO

DECLARE @t1 INT;

EXEC cau5 'PK', @t1 OUTPUT;


PRINT @t1;
GO

Cau 6 :
CREATE PROCEDURE cau6 (
@malotrinh NVARCHAR(10),
@nam INT,
@sotien MONEY OUTPUT
)
AS
BEGIN
SELECT @sotien = SUM(DonGia)
FROM ChiTietVanTai
WHERE MaLoTrinh = @malotrinh AND YEAR(NgayDi) = @nam;
END;

DECLARE @st MONEY;


EXEC cau6 'PK', 2014, @st OUTPUT;
PRINT N'So tien: ' + CAST(@st AS NVARCHAR(10));

Cau 7 :
CREATE PROCEDURE cau6 (
@malotrinh NVARCHAR(10),
@nam INT,
@sotien MONEY OUTPUT
)
AS
BEGIN
SELECT @sotien = SUM(DonGia)
FROM ChiTietVanTai
WHERE MaLoTrinh = @malotrinh AND YEAR(NgayDi) = @nam;
END;

DECLARE @st MONEY;


EXEC cau6 'PK', 2014, @st OUTPUT;
PRINT N'So tien: ' + CAST(@st AS NVARCHAR(10));

Cau 7 :

CREATE PROCEDURE cau7(


@soxe NVARCHAR(10),
@nam INT,
@sotien MONEY OUTPUT
)
AS
BEGIN
SELECT @sotien = SUM(DonGia)
FROM ChiTietVanTai
WHERE SoXe = @soxe AND YEAR(NgayDi) = @nam;
END;

DECLARE @st MONEY;


EXEC cau7 '444', 2014, @st OUTPUT;
PRINT N'So tien: ' + CAST(@st AS NVARCHAR(10));

Cau 8 :
CREATE PROCEDURE cau8(
@matrongtai NVARCHAR(10),
@s1 INT OUTPUT
)
AS
BEGIN
SELECT @s1 = COUNT(DISTINCT SoXe)
FROM ChiTietVanTai a
JOIN TrongTai b ON a.MaTrongTai = b.MaTrongTai
WHERE @matrongtai = a.MaTrongTai AND SoLuongVT > TrongTaiQD;
END;

DECLARE @soluong INT;


EXEC cau8 '50', @soluong OUTPUT;
PRINT N'Sốlượng xe: ' + CAST(@soluong AS NVARCHAR(10));

Bai 2 :
cau 1 :

create function caul(@nam int)


returns table
as
return (
select 'ma nhan vien'=manv, 'Ho ten nhan vien'=ho+ten
from tNhanVien
where @nam=year (NTNS))
select *from caul(1963)

Cau 2 :
create function cau2(@thamnien int)
returns table
as
return
select 'mã nhân viên'=manv, 'Ho ten nhan
vien'=ho+ten, 'So nam tham nien'=year (getdate())-
year (ngaybd)
from tnhanvien
where @thamnien=year (getdate())-year(ngaybd)
select *from cau2(25)
Cau 3 :
CREATE FUNCTION cau3 (@chucvu NVARCHAR(10))
RETURNS TABLE
AS
RETURN (
SELECT manv AS 'ma nhan vien'
FROM tChiTietNhanVien
WHERE Chucvu = @chucvu
);

SELECT * FROM cau3('TP');


Cau 4 :

create function cau4()


returns table
as
return
select 'ma nhan vien'=manv, 'Ho ten nhan vien'=ho+ten
from tnhanvien
where year (getdate())-year(ngaybd) >=3

You might also like