T-SQL | Пример разработки функции типа Inline table-valued function

Например, есть таблица с клиентами и заказами.

Нужно отобрать клиентов, заказы которых приходятся на заданные даты.

 

Подготовлен синтаксис функции как Inline table-valued function:

 


/*

Запрос 'заказы клиентов за период'

@Date1 – начало периода

@Date2 – окончание периода

*/

CREATE FUNCTION ClientOrders (@Date1 datetime, @Date2 datetime)

RETURNS TABLE

AS RETURN        (

 

)


 

Разработан SELECT statement. Параметры отбора данных заменены на входящие параметры  функции (@Date1, @Date2):

 


/*

Запрос 'заказы клиентов за период'

@Date1 – начало периода

@Date2 – окончание периода

*/

CREATE FUNCTION ClientOrders (@Date1 datetime, @Date2 datetime)

RETURNS TABLE

AS RETURN        (

         SELECT Customers.CustomerID, Customers.CompanyName,

         Customers.City, Customers.Country, Orders.OrderDate

         FROM Customers

         INNER JOIN Orders

         ON Customers.CustomerID = Orders.CustomerID

         WHERE     (Orders.OrderDate BETWEEN @Date1 AND @Date2)

)


 

См. также: Передать управление задаваемыми параметрами пользователю с клиентского приложения (на примере MS Excel)

 



© 2018 | Анна Петросян | pashelp@yandex.ru