как узнать количество параметров в функции

любитель функций
Дата: 23.01.2009 17:04:10
Добрый вечер!
Нужно предоставить пользователю список функций (UDF) из БД. Это трудностей не вызывает. Не знает ли кто, как можно зная функцию (id функции) получить количество и тип данных принимаемых ею параметров. В идеале ещё и тип возвращаемого ею результата.
Пока вижу только одно решение - парсить текст функции. Подскажет ли кто способ лучше?

p.s. табличные функции не считаются.
Mr Marmelad
Дата: 23.01.2009 17:18:56
Как нибудь так Коллега:

SELECT 
	SCHEMA_NAME(SCHEMA_ID) AS [Schema], 
	SO.name AS [ObjectName],
	SO.Type_Desc AS [ObjectType (UDF/SP)],
	P.parameter_id AS [ParameterID],
	P.name AS [ParameterName],
	TYPE_NAME(P.user_type_id) AS [ParameterDataType],
	P.max_length AS [ParameterMaxBytes],
	P.is_output AS [IsOutPutParameter]
FROM sys.objects AS SO INNER JOIN sys.parameters AS P ON SO.OBJECT_ID = P.OBJECT_ID
WHERE SO.OBJECT_ID IN 
( 
   SELECT OBJECT_ID FROM sys.objects
	WHERE TYPE IN ('P','FN')
)
ORDER BY [Schema], SO.name, P.parameter_id
любитель функций
Дата: 23.01.2009 17:31:09
Mr Marmelad,

За sys.parameters - большое спасибо!
За практически готовое решение - Огромное спасибо!
Mr Marmelad
Дата: 23.01.2009 17:36:17
любитель функций,

Any time :)