SQL Server сопоставляет типы ввода и вывода функции табличного значения с параметрами табличного значения - PullRequest
1 голос
/ 17 марта 2019

Я новичок в SQL, и я хотел создать функции, которые делают что-то с таблицами.

После долгих поисков я узнал о табличных функциях и табличные параметры .

Вот мой пример:

CREATE TYPE MyType AS TABLE(ID int);   

CREATE FUNCTION dbo.MyFunc1(@Input MyType READONLY)
RETURNS @Result TABLE(ID int)  
BEGIN  
    INSERT INTO @Result 
    VALUES(1); --Just a simple example

    RETURN;
END;

Все идет хорошо с этим примером, но что, если я хочу использовать выходные данные этой функции для вводадругой функции (например, MyFunc2) и делать с ней что-то еще?

Конечно, я могу объявить временный MyType, вставить в него значения из MyFunc1 и вызвать MyFunc2 с этой временной переменной в качестве входных данных, но я ищу какой-то конвейер (например,Потоки API в Java 8), и я хочу вызвать цепочку функций, без шаблонных кодов между ними, таких как

SELECT * 
FROM (MyFunc1(MyFunc2(MyFunc3(@FirstInput, @SecondInput))));

Как это возможно?

...