TAILIEUCHUNG - Bài giảng Cơ sở dữ liệu: Hàm do người dùng định nghĩa - ThS. Nguyễn Ngọc Quỳnh Châu

Bài giảng "Cơ sở dữ liệu: Hàm do người dùng định nghĩa" trình bày các khái niệm, các loại hàm, định nghĩa hàm vô hướng, ví dụ về hàm, định nghĩa hàm trả về bảng, khác nhau giữa hàm và thủ tục, định nghĩa view,. . | Bài giảng Cơ sở dữ liệu: Hàm do người dùng định nghĩa - ThS. Nguyễn Ngọc Quỳnh Châu HÀM DO NGƯỜI DÙNG ĐỊNH NGHĨA (USER-DEFINED FUNCTION) KHÁI NIỆM • Là một đối tượng của CSDL • Có hai loại hàm: – Hàm do hệ quản trị CSDL cung cấp sẵn – Hàm do người dùng tự định nghĩa để phục vụ cho mục đích của riêng mình • Có thể sử dụng hàm trong các biểu thức tính toán. CÁC LOẠI HÀM • Hàm vô hướng: trả về một giá trị • Hàm thao tác trên bản ghi: trả về một bảng ĐỊNH NGHĨA HÀM VÔ HƯỚNG • Cú pháp: VÍ DỤ VỀ HÀM • Ví dụ về hàm vô hướng: viết một hàm để tính số lượng nhân viên trong một phòng CREATE FUNCTION Ham_Soluong_Phong ( @BienMaPhong CHAR (3) ) RETURNS int AS BEGIN DECLARE @SL int; SELECT @SL = COUNT (*) FROM NhanVien WHERE MaPhong=@BienMaPhong ; RETURN (@SL); END VÍ DỤ VỀ HÀM Sử dụng hàm: SELECT Ham_Soluong_Phong('KD'); SELECT MaPhong, count (*) FROM NhanVien GROUP BY MaPhong HAVING count(*) > Ham_Soluong_Phong('QT') ĐỊNH NGHĨA HÀM TRẢ VỀ BẢNG • Cú pháp 1: CREATE FUNCTION Tên_hàm ([tham số]) RETURNS TABLE BEGIN Các câu lệnh END ĐỊNH NGHĨA HÀM TRẢ VỀ BẢNG • Ví dụ 1: viết hàm để trả về danh sách nhân viên trong phòng. CREATE FUNCTION HAM_DSPHONG (@bienmaphong char(5)) RETURNS TABLE AS BEGIN RETURN (SELECT MANV, HOTEN, DIACHI FROM NHANVIEN WHERE MAPHONG=@bienmaphong) END • Ví dụ 2: Viết một hàm trả về ngày sinh của một nhân viên. Tham số của hàm là mã nhân viên. • Viết một thủ tục sử dụng hàm đó so sánh ngày sinh của hai nhân viên bất kỳ. Nếu trùng nhau thì in ra “Hai nhân viên cùng ngày sinh”. Ngược lại thì in ra “Hai nhân vien không cùng ngày sinh” VÍ DỤ VỀ HÀM • Sử dụng hàm HAM_DSPHONG: • SELECT * FROM HAM_DSPHONG(‘QT’) ĐỊNH NGHĨA HÀM TRẢ VỀ BẢNG • Cú pháp 2 ĐỊNH NGHĨA HÀM TRẢ VỀ BẢNG Ví dụ 2: sử dụng cú pháp 2 để viết lại hàm trong ví dụ 1: CREATE FUNCTION HAM_DSPHONG (@bienmaphong char(5)) RETURNS @kq TABLE (MaNV char(10), hoten nchar(40), diachi nchar(50)) AS BEGIN INSERT INTO @kq SELECT MANV, .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.