Tải bản đầy đủ (.pdf) (3 trang)

Hdth tuan5 7

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (726.62 KB, 3 trang )

TUẦN 5, 7 – HÀM NGƯỜI DÙNG (FUNCTION)
I. HƯỚNG DẪN
 Function – Loại 1: Trả về kiểu cơ sở
1. Cú pháp:
IF OBJECT_ID('UF_C1') IS NOT NULL
DROP FUNCTION UF_C1
GO
CREATE FUNCTION UF_C1
(
@TenThamSo1 <kieu dữ liệ u>,
@TenThamSo2 <kieu dữ liêu>
)
RETURNS <kieu dữ liệ u>
AS
BEGIN
--code
RETURN <giá trị>
END
2. Ví dụ: Viết hàm cho biết số lượng sách của đầu sách ‘116525441‘
IF OBJECT_ID('UF_C1') IS NOT NULL
DROP FUNCTION UF_C1
GO
CREATE FUNCTION UF_C1
(
@isbn nvarchar(12)
)
RETURNS int
AS
BEGIN
--code
Declare @sosach int


set @sosach =(select count(*)
from cuonsach
where isbn = @isbn)
RETURN @sosach
END
go


--Cá ch gọ i 1:
select dbo.UF_C1('116525441')
--Cá ch gọ i 2:
if dbo.UF_C1('116525441') > 0
print N'Đau sá ch có sá ch'
else
print N'Đau sách đã hết sá ch'
--Cá ch gọ i 3:
Declare @i int
set @i = dbo.UF_C1('116525441')
print N'Đau sá ch có '+ cast(@i as varchar(5)) + N' cuon sá ch'
 Function – Loại 2: Trả về kiểu bảng
1. Cú pháp:
IF OBJECT_ID('UF_C2') IS NOT NULL
DROP FUNCTION UF_C2
GO
CREATE FUNCTION UF_C2
(
@TenThamSo1 <kieu dữ liệ u>,
@TenThamSo2 <kieu dữ liêu>
)
RETURNS table

AS
RETURN <câu truy vấn>
2. Ví dụ: Viết hàm cho biết danh sách các cuốn sách thuộc đầu sách ‘116525441‘
IF OBJECT_ID('UF_C2') IS NOT NULL
DROP FUNCTION UF_C2
GO
CREATE FUNCTION UF_C2
(
@isbn nvarchar(12)
)
RETURNS table
AS
RETURN (SELECT *
FROM CuonSach
WHERE isbn = @isbn)
Go


--Cá ch gọ i 1:
select *
from UF_C2('116525441')
--Cá ch gọ i 2:
select *
from UF_C2('116525441') s, CT_PhieuMuon ct
where ct.masach = s.masach and
ct.isbn = s.isbn
II. BÀI TẬP
 Function loại 1
1. Viet hà m cho biết so độc giả sinh là ‘Nữ’
2. Viet hà m truyen và o MaDG cho biết tuoi củ a đọc giả

3. Viet hà m truyen và o ISBN, MaSach cho biết sá ch có the mượn không
4. Viet hà m truyen và o MaDG cho biet so phieu mượn củ a đọ c giả
5. Viet hà m truyen và o MaPM, ISBN, MaSach cho biet sá ch đã đến hạ n trả chưa. Biet
sá ch đen hạn khi NGAYMUON + SONGAYQUYDINH < NGAYHIENTAI
Gợi ý: dùng hàm DateAdd(DAY, Số ngày cộng thêm, Ngay)
6. Viet hà m truyen vào MaPM, đem so sá ch đen hạ n trả
Gợi ý: gọi hàm câu 4
7. Viet hà m truyen và o MaPM, đem so sá ch đã trả
Gợi ý: sách đã trả là sách nằm trong CT_PhieuTra của MaPM truyền vào
8. Viet hà m truyen và o ISBN, đếm so sá ch đã mượn củ a đau sá ch nà y
9. Viet hà m truyen và o ISBN, đếm so sá ch đã mượn củ a đau sá ch nà y
10. Viet hà m truyen và o MaDG, đem số sá ch mà đọc giả nà y đã mượn
11. Viet hà m truyền vào NgayMuon, đem so sá ch đã được mượn trong ngà y đó
12. Viet hà m truyen và o MaPT, tính tong so tien phạ t củ a phieu trả đó
 Function loại 2
1. Viet hà m cho biet danh sá ch đọ c giả ở ‘TP.HCM’
2. Viet hàm cho biet danh sá ch đọ c giả có sá ch đã đen hạ n trả (gọi Func_L1 câu 4)
3. Viet hà m truyen vào MaPM cho biết danh sá ch đọ c giả (MaDG, HoTen) và so tien
phạ t mà đọ c giả phả i trả (gọi Func_L1 câu 11)
4. Viet hàm cho biet danh sá ch cuon sá ch (ISBN, MaSach) và NgayMuon củ a cuon
sá ch đó .
5. Viet hà m truyen vào ngày cho biet danh sá ch đau sá ch (ISBN, TenSach) và so
sá ch đã mượn trong ngà y đó (gọi Func_L1 câu 10 và Func_L2 câu 4)
6. Viet hà m truyền và o MaDG, cho biet danh sá ch sách đọ c giả đã mượn
7. Viet hà m cho biet danh sá ch đọc giả (MaDG, HoTen) và cá c cuon sá ch ( ISBN,
MaSach) mà đọc giả cò n nợ
8. Viết hà m cho biet danh sá ch đau sá ch (ISBN, TenSach, TacGia) và so sá ch có the
mượn.




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×