Пример функции в mssql server,которая возвращает таблицу

Tsql теория > Пример функции в mssql server,которая возвращает таблицу
17.09.2013 10:18:25



Статья:



IF OBJECT_ID (N'dbo.fnЗаказ_ПолучитьТекущееИсполнениеПоПроектам', N'FN') IS NOT NULL
DROP FUNCTION dbo.fnЗаказ_ПолучитьТекущееИсполнениеПоПроектам;
GO
CREATE FUNCTION dbo.fnЗаказ_ПолучитьТекущееИсполнениеПоПроектам (@Заказ_УИ varchar(9))
RETURNS TABLE
AS

RETURN
(
SELECT
[ПотенциальнаяПродажа_УИ]
,[Договор_УИ]
,[Сделка_УИ]
,[Сделка_Номер]
,[ВидРаздела]
,[ЦентрПрибыли_УИ]
,[ЦентрПрибыли_Код]
,[ЦФО_УИ]
,[ЦФО_Код]
,[СтрокаБазы]
,[ДоговорСПоставщиком_УИ]

,[ВЗаказе_Сумма_Доллар] = SUM([ВЗаказе_Сумма_Доллар])
,[ВЗаказе_Сумма_Рубль] = SUM([ВЗаказе_Сумма_Рубль])
,[ВЗаказе_Сумма_Евро] = SUM([ВЗаказе_Сумма_Евро])
,[ВЗаказе_Количество] = SUM([ВЗаказе_Количество])
,[ВПутиОтПоставщика_Сумма_Доллар] = SUM([ВПутиОтПоставщика_Сумма_Доллар])
,[ВПутиОтПоставщика_Сумма_Рубль] = SUM([ВПутиОтПоставщика_Сумма_Рубль])
,[ВПутиОтПоставщика_Сумма_Евро] = SUM([ВПутиОтПоставщика_Сумма_Евро])
,[ВПутиОтПоставщика_Количество] = SUM([ВПутиОтПоставщика_Количество])
,[Логистика_Сумма_Доллар] = SUM([Логистика_Сумма_Доллар])
,[Логистика_Сумма_Рубль] = SUM([Логистика_Сумма_Рубль])
,[Логистика_Сумма_Евро] = SUM([Логистика_Сумма_Евро])
,[НаСкладе_Сумма_Доллар] = SUM([НаСкладе_Сумма_Доллар])
,[НаСкладе_Сумма_Рубль] = SUM([НаСкладе_Сумма_Рубль])
,[НаСкладе_Сумма_Евро] = SUM([НаСкладе_Сумма_Евро])
,[НаСкладе_Количество] = SUM([НаСкладе_Количество])
,[НаВХ_Сумма_Доллар] = SUM([НаВХ_Сумма_Доллар])
,[НаВХ_Сумма_Рубль] = SUM([НаВХ_Сумма_Рубль])
,[НаВХ_Сумма_Евро] = SUM([НаВХ_Сумма_Евро])
,[НаВХ_ВЦенахПродажи_Сумма_Доллар] = SUM([НаВХ_ВЦенахПродажи_Сумма_Доллар])
,[НаВХ_ВЦенахПродажи_Сумма_Рубль] = SUM([НаВХ_ВЦенахПродажи_Сумма_Рубль])
,[НаВХ_ВЦенахПродажи_Сумма_Евро] = SUM([НаВХ_ВЦенахПродажи_Сумма_Евро])
,[НаВХ_Количество] = SUM([НаВХ_Количество])
,[Отгружено_Сумма_Доллар] = SUM([Отгружено_Сумма_Доллар])
,[Отгружено_Сумма_Рубль] = SUM([Отгружено_Сумма_Рубль])
,[Отгружено_Сумма_Евро] = SUM([Отгружено_Сумма_Евро])
,[Отгружено_ВЦенахПродажи_Сумма_Доллар]= SUM([Отгружено_ВЦенахПродажи_Сумма_Доллар])
,[Отгружено_ВЦенахПродажи_Сумма_Рубль] = SUM([Отгружено_ВЦенахПродажи_Сумма_Рубль])
,[Отгружено_ВЦенахПродажи_Сумма_Евро] = SUM([Отгружено_ВЦенахПродажи_Сумма_Евро])
,[Отгружено_Количество] = SUM([Отгружено_Количество])
FROM [tblТУС_Оборудование_Заказанное]
where [Заказ_УИ] = @Заказ_УИ
group by
[ПотенциальнаяПродажа_УИ]
,[Договор_УИ]
,[Сделка_УИ]
,[Сделка_Номер]
,[ВидРаздела]
,[ЦентрПрибыли_УИ]
,[ЦентрПрибыли_Код]
,[ЦФО_УИ]
,[ЦФО_Код]
,[СтрокаБазы]
,[ДоговорСПоставщиком_УИ]

);

GO

 

Пример вызова: SELECT * FROM dbo.fnЗаказ_ПолучитьТекущееИсполнениеПоПроектам (' 1SCRJ ');