No SQL Server, você pode usar o Transact-SQL
PARAMETERS
visualização do esquema de informações do sistema para localizar os parâmetros usados em um procedimento armazenado ou função definida pelo usuário. Mais especificamente, ele retorna uma linha para cada parâmetro de uma função definida pelo usuário ou procedimento armazenado que pode ser acessado pelo usuário atual no banco de dados atual.
Para usar essa visualização, especifique o nome totalmente qualificado de
INFORMATION_SCHEMA.PARAMETERS
. Exemplo 1 – Uso básico
Aqui está um exemplo de retorno de informações sobre os parâmetros usados em todos os procedimentos armazenados e funções definidas pelo usuário no banco de dados atual ao qual o usuário atual tem acesso.
SELECT SPECIFIC_CATALOG AS [Database], SPECIFIC_SCHEMA AS [Schema], SPECIFIC_NAME AS [Table], PARAMETER_MODE AS [Mode], IS_RESULT, PARAMETER_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.PARAMETERS;
Resultado:
+------------+----------+----------------------+--------+-------------+------------------+-------------+ | Database | Schema | Table | Mode | IS_RESULT | PARAMETER_NAME | DATA_TYPE | |------------+----------+----------------------+--------+-------------+------------------+-------------| | Music | dbo | ISOweek | OUT | YES | | int | | Music | dbo | ISOweek | IN | NO | @DATE | datetime | | Music | dbo | ufn_AlbumsByGenre | IN | NO | @GenreId | int | | Music | dbo | spAlbumsFromArtist | IN | NO | @ArtistName | varchar | | Music | dbo | uspGetAlbumsByArtist | IN | NO | @ArtistId | int | +------------+----------+----------------------+--------+-------------+------------------+-------------+
Neste exemplo optei por retornar apenas sete colunas da view. O exemplo a seguir exibe todas as colunas.
Exemplo 2 – Retornar todas as colunas
Neste exemplo eu incluo todas as colunas que a view retorna. Eu também uso saída vertical para que você não seja forçado a rolar horizontalmente. Além disso, por uma questão de brevidade, eu uso um
WHERE
cláusula para retornar informações sobre apenas uma função definida pelo usuário que usa um parâmetro (portanto, apenas uma linha é retornada). SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'ufn_AlbumsByGenre';
Resultado (usando saída vertical):
SPECIFIC_CATALOG | Music SPECIFIC_SCHEMA | dbo SPECIFIC_NAME | ufn_AlbumsByGenre ORDINAL_POSITION | 1 PARAMETER_MODE | IN IS_RESULT | NO AS_LOCATOR | NO PARAMETER_NAME | @GenreId DATA_TYPE | int CHARACTER_MAXIMUM_LENGTH | NULL CHARACTER_OCTET_LENGTH | NULL COLLATION_CATALOG | NULL COLLATION_SCHEMA | NULL COLLATION_NAME | NULL CHARACTER_SET_CATALOG | NULL CHARACTER_SET_SCHEMA | NULL CHARACTER_SET_NAME | NULL NUMERIC_PRECISION | 10 NUMERIC_PRECISION_RADIX | 10 NUMERIC_SCALE | 0 DATETIME_PRECISION | NULL INTERVAL_TYPE | NULL INTERVAL_PRECISION | NULL USER_DEFINED_TYPE_CATALOG | NULL USER_DEFINED_TYPE_SCHEMA | NULL USER_DEFINED_TYPE_NAME | NULL SCOPE_CATALOG | NULL SCOPE_SCHEMA | NULL SCOPE_NAME | NULL
Consulte a documentação da Microsoft para obter informações sobre cada coluna retornada por essa exibição.