Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как нибудь можно по-бороть? "is not a defined system type"  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
CREATE TYPE dbo.GroupByType AS TABLE ( groupby_id int not null primary key, groupby_name nvarchar(255)); 
GO

CREATE FUNCTION dbo.fn_test1( @group_list dbo.GroupByType readonly )
RETURNS TABLE
AS
RETURN
    SELECT groupby_id, groupby_name FROM @group_list
GO

with cte(groupby_id, groupby_name)
AS (  select 1, 'aa')
 SELECT * FROM dbo.fn_test( cast(cte as dbo.GroupByType) )
4 май 15, 18:40    [17598820]     Ответить | Цитировать Сообщить модератору
 Re: как нибудь можно по-бороть? "is not a defined system type"  [new]
iap
Member

Откуда: Москва
Сообщений: 47047
Lepsik,

передать можно только табличную переменную.
Ничего больше.
Можно объявить переменную, заполнить из CTE, после этого вызвать функцию для этой переменной.
4 май 15, 18:50    [17598858]     Ответить | Цитировать Сообщить модератору
 Re: как нибудь можно по-бороть? "is not a defined system type"  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
---передать можно только табличную переменную.

я в курсе, я думал может есть какой хак, мне не хотелось делать табличную функцию где можно обойтись inline
4 май 15, 21:39    [17599349]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить