Получить входные и выходные параметры для хранимых в SQL процедур и функций? - PullRequest
0 голосов
/ 23 апреля 2010

Для данного хранимого процесса или функции в SQL я пытаюсь получить входные и выходные параметры, где это применимо, в приложении Winforms, которое я создаю для просмотра объектов и отображения их параметров и других атрибутов.

До сих пор я обнаружил системную функцию SQL определение_объекта , которая принимает данный sysobjects.id и возвращает текст этого объекта; также обнаружил с помощью поиска этот пост , в котором описывается извлечение параметров в контексте приложения с использованием метода ADO.NET DeriveParameters в сочетании с некоторым кэшированием для повышения производительности; и для хорошей цели нашел некоторые полезные системные хранимые проки из этого предыдущего поста на Скрытые возможности SQL Server .

Я склоняюсь к реализации метода DeriveParameters в моем приложении на C #, так как анализ вывода object_definition кажется грязным, и я не нашел скрытой возможности в этом посте до сих пор это сделало бы свое дело.

Применимо ли DeriveParameters как к функциям, так и к хранимым процедурам в целях восстановления их параметров, и если да, может кто-нибудь привести пример?

1 Ответ

2 голосов
/ 23 апреля 2010

Пожалуйста, попробуйте это:

select
PARAMETER_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
PARAMETER_MODE,
NUMERIC_PRECISION,
NUMERIC_SCALE
from INFORMATION_SCHEMA.PARAMETERS
where specific_name = @chvProcName
order by ordinal_position

ищите PARAMETER_MODE, он будет иметь значение OUT

Получил эту информацию из здесь

HTH

...