Table – Valued Funtion: mệnh đề RETURN trả về giá trị kiểu bảng (TABLE) Tuỳ theo việc khai báo nội dung của table –

Một phần của tài liệu Tài liệu Hệ Quản Trị CSDL docx (Trang 66 - 71)

bảng (TABLE). Tuỳ theo việc khai báo nội dung của table – value funtion, ta chia thành 2 loại

+ inline function: phần thân của hàm chỉ có duy nhất một câu

lệnh RETURN

+ multi-stament function: phần thân hàm có nhiều câu lệnh

Scalar Function:

Cú pháp:

CREATE FUNCTION [tên_người_sở_hữu]. tên_function ([danh_sách_tham_số])

RETURNS (kiểu_trả_về_của_hàm)

[WITH SCHEMABINDING| ENCRYPTION | SCHEMABINDING,ENCRYPTION] SCHEMABINDING,ENCRYPTION] AS BEGIN nội_dung_thân_hàm RETURN biến_trả_về END

tên_người_sở_hữu Tên của user khai báo hàm hoặc tên

database chứa hàm

tên_function Tên của function, yêu cầu thoả các quy tắc

định danh và là duy nhất trong database

danh_sách_tham_số

Nếu Function có nhiều hơn 2 tham số thì mỗi tham số cách nhau bởi dấu phẩy và được khai báo theo cú pháp sau :

@tên_tham_số kiểu_dữ_liệu

kiểu_trả_về_của_hàm

Một loại dữ liệu bất kỳ được SQL Server hỗ trợ: int, nvarchar, datetime …. ngoại trừ các kiểu dữ liệu sau: text, ntext, image, timestamp

nội_dung_thân_hàm

Tập hợp các câu lệnh được sử dụng trong Functions. Hỗ trợ hầu hết các câu lệnh T-SQL như Stored Procedure

biến_trả_về biến được khai báo trong phần thân của hàm

với kiểu dữ liệu là kiểu_trả_về_của_hàm  Các tham số cơ bản

WITH

ENCRYPTION SQL server sẽ mã hoá nội dung của function

WITH

SCHEMABINDING

Tùy chọn này làm cho funtion có sự ràng buộc (bound) với đối tượng nó đang tham chiếu trong CSDL.Khi tùy chọn SCHEMABINDING được kích hoạt, đối tượng mà funtion tham chiếu tới không thể bị sửa đổi (thông qua cú pháp ALTER) hoặc xóa bỏ (thơng qua cú pháp DROP)

Sự ràng buộc này chỉ được hủy bỏ nếu xảy ra một trong hai hành động sau:

+ Xóa bỏ function

+ Tắt tùy chọn SCHEMABINDING của function

// một số trường hợp cho thấy với tùy chọn SCHEMABINDING được bật sẵn sẽ làm cho truy vấn của hàm trả về với kết quả nhanh hơn

Một phần của tài liệu Tài liệu Hệ Quản Trị CSDL docx (Trang 66 - 71)

Tải bản đầy đủ (PPT)

(89 trang)