tailieunhanh - Bài giảng Hệ quản trị cơ sở dữ liệu (Database Management Systems) - Bài 10: Hàm do người dùng định nghĩa (UDF – User Defined Function)

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

TỪ KHÓA LIÊN QUAN