Sử dụng những hàm định trị bảng nội tuyến

Một phần của tài liệu Mastering C# Database Programming pot (Trang 101 - 103)

Một hàm định trị bảng nội tuyến (inline table-valued function) trả về một đối tượng kiểu bảng, được cư trú - sử

tuyến không chứa đựng một thân của những phát biểu được đặt bên trong những phát biểu BEGIN và END . Thay vào đó, chỉ một phát biểu SELECT đơn được đặt bên trong hàm.

Chẳng hạn, Danh sách 4.3 trình bày script "ProductsToBeReordered.sql" nó tạo ra hàm

ProductsToBeReordered(). hàm này trả về một bảng chứa những hàng từ bảng những sản phẩm với một giá trị

cột UnitsInStock nhỏ hơn hay bằng với tham số mức "reorder" gởi đến cho hàm.

Danh sách 4.3: PRODUCTSTOBEREORDERED.SQL /*

ProductsToBeReordered.sql creates an inline table-valued function to return the rows from the Products table whose UnitsInStock column is less than or equal to the reorder level passed as a parameter to the function

*/

CREATE FUNCTION ProductsToBeReordered(@ReorderLevel int) RETURNS table AS RETURN ( SELECT * FROM Products

WHERE UnitsInStock <= @ReorderLevel )

Không giống một hàm vô hướng, bạn không phải thêm owner (tên tài khỏan người dùng) khi sự gọi một hàm "inline table-valued function". Bạn sử dụng một phát biểu SELECT đểđọc bảng được trả về bởi hàm như mọi bảng khác. Chẳng hạn, phát biểu SELECT sau đây trình bày tất cả những hàng và những cột được trả về bởi gọi hàm ProductsToBeReordered(10):

SELECT *

FROM ProductsToBeReordered(10);

Tất nhiên bạn cũng có thể trình bày chỉ những cột và những hàng được lựa chọn từ bảng được trả về bởi một hàm "inline table-valued function". Chẳng hạn:

SELECT ProductID, ProductName, UnitsInStock FROM ProductsToBeReordered(10)

WHERE ProductID <= 50;

Hình 4.5: sử dụng một hàm định trị bảng nội tuyến

Một phần của tài liệu Mastering C# Database Programming pot (Trang 101 - 103)