TAILIEUCHUNG - Bài giảng Cơ sở dữ liệu - Bài 10: Hàm do người dùng định nghĩa (UDF – User Defined Function)

Bài giảng "Cơ sở dữ liệu - Bài 10: Hàm do người dùng định nghĩa (UDF – User Defined Function)" trình bày một số khái niệm liên quan, tạo mới hàm, quản lý hàm, hàm đệ quy, gọi thực hiện hàm. . | Khái niệm n - Bài 10: Hàm do người dùng định nghĩa (UDF – User Defined Function) n - 2/8/2018 Microsoft SQL Server 2005 1 Là một chương trình con: Nhận các giá trị đầu vào Trả về một giá trị 2 nhóm hàm: Hàm xác định (deterministic) Hàm không xác định (non - deterministic) 2/8/2018 Tạo mới hàm Microsoft SQL Server 2005 2 Tạo mới hàm Cú pháp: Create Function Tên_Function (các_tham_số) Returns Kiểu_dữ_liệu_trả_về As Begin Các_lệnh Return End Lưu ý: - Các tham số phải bắt đầu bằng ký hiệu @ - Một hàm có thể không có tham số - Kiểu dữ liệu trả về có thể là một giá trị vô hướng hoặc một bảng dữ liệu n 2/8/2018 Microsoft SQL Server 2005 3 n Ví dụ về tạo hàm đơn trị: Tạo hàm chuyển chuỗi ngày tháng năm sang xâu ký tự theo mã 112 Create Function Namthang(@d datetime) Returns char(6) As Begin Declare @st char(6) Set @st=convert(char(6),@d,112) Return @st End 2/8/2018 Microsoft SQL Server 2005 4 1 Tạo mới hàm Tạo mới hàm Tạo hàm trả về một bảng: - Dạng Inline Table (hàm đọc bảng) Ví dụ: Xây dựng hàm đọc bảng hiển thị danh sách vật tư thuộc loại tivi Create Function DSachTivi() Returns Table As Return (Select * From VATTU where left(MaVTu,2) = 'TV') n 2/8/2018 Microsoft SQL Server 2005 5 Dạng MultiStatement Table (hàm tạo bảng): Ví dụ: Tạo hàm tạo bảng lưu danh sách hàng xuất với giá khuyến mại, tham số truyền vào là mã vật tư và % khuyến mại Create Function DSHangxuat(@MaVTu char(4), @Phantram numeric) Returns @DSHangxuat Table (SoPX char(4), MaVT char(4), SlXuat int, Giakhuyenmai money) - 2/8/2018 Tạo mới hàm Microsoft SQL Server 2005 6 Tạo mới hàm Dạng MultiStatement Table (hàm tạo bảng) (tiếp): As Begin Insert Into @DSHangxuat(SoPX,MaVT,SlXuat,Giakhuyenmai) Select * From CTPXUAT where MaVTu = @MaVTu Update @DSHangxuat Set Giakhuyenmai= Giakhuyenmai*(100-@Phantram)/100 Return End - 2/8/2018 Microsoft SQL Server 2005 Các lưu ý khi tạo hàm: Với hàm đọc bảng: - Phần thân hàm không đặt trong Begin End - Câu lệnh Select có các hạn chế như .

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.