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: 21
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 FunctionTài liệu có liên quan:
-
Giáo án Tin học lớp 12 (Trọn bộ cả năm)
180 trang 307 0 0 -
Thực hiện truy vấn không gian với WebGIS
8 trang 279 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 254 0 0 -
69 trang 151 0 0
-
57 trang 90 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 88 0 0 -
34 trang 85 0 0
-
Giáo trình Hệ quản trị cơ sở dữ liệu - Trần Thiên Thành
130 trang 83 0 0 -
150 trang 79 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 77 0 0