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
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 ...
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ìm kiếm theo từ khóa liên quan:
Hệ quản trị cơ sở dữ liệu Bài giảng Hệ quản trị cơ sở dữ liệu Database Management Systems Microsoft SQL Server Hàm do người dùng định nghĩa User Defined FunctionGợi ý tài liệu liên quan:
-
Giáo án Tin học lớp 12 (Trọn bộ cả năm)
180 trang 250 0 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 235 0 0 -
Thực hiện truy vấn không gian với WebGIS
8 trang 228 0 0 -
69 trang 143 0 0
-
57 trang 87 0 0
-
34 trang 81 0 0
-
Bài giảng Khái niệm về hệ cơ sở dữ liệu: Bài 2 - Hệ quản trị cơ sở dữ liệu
13 trang 76 0 0 -
Giáo trình Hệ quản trị cơ sở dữ liệu - Trần Thiên Thành
130 trang 72 0 0 -
Phát triển Java 2.0: Phân tích dữ liệu lớn bằng MapReduce của Hadoop
12 trang 69 0 0 -
Lý thuyết, bài tập và bài giải hệ thống thông tin kế toán: Phần 1
198 trang 69 0 0