Danh mục

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)

Số trang: 3      Loại file: pdf      Dung lượng: 109.59 KB      Lượt xem: 17      Lượt tải: 0    
tailieu_vip

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (3 trang) 0
Xem trước 1 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

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.
Nội dung trích xuất từ tài liệu:
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) 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*(100-@Phantram)/100 - Không thể sử dụng hàm để sửa đổi thông tin trong các bảng cơ sở Return End 2/8/2018 Microsoft SQL Server 2005 7 2/8/2018 Microsoft SQL Server 2005 8 2 Quản lý hàm Quản lý hàm n Sửa cấu trúc hàm: Cú pháp tương tự cú pháp tạo n Xem nội dung hàm: hàm, chỉ thay Create bằng Alter Cú pháp: sp_helptext Tên_hàm n Đổi tên hàm: sử dụng cú pháp Ví dụ: sp_helptext DSVattuxuat sp_rename Tên_cũ, Tên_mới n Xóa hàm: Ví dụ: Cú pháp: Drop Function Tên_hàm sp_rename DSHangxuat, DSVattuxuat Ví dụ: Drop Function DSVattuxuat Lưu ý: các thao tác trên có thể thực hiện trực tiếp từ cửa sổ Object Explorer 2/8/2018 Microsoft SQL Server 2005 9 2/8/2018 Microsoft SQL Server 2005 10 Gọi thực hiện hàm Hàm đệ quy n Cú pháp gọi hàm: n Xây dựng hàm tính giai thừa: dbo.Tên_hàm(danh_sách_các_tham_số_t ...

Tài liệu được xem nhiều:

Gợi ý tài liệu liên quan: