Я новичок в 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))));
Как это возможно?