No SQL Server, você pode usar o Transact-SQL
ROUTINE_COLUMNS
visualização do esquema de informações do sistema para localizar as colunas retornadas por uma função com valor de tabela. Mais especificamente, ele retorna uma linha para cada coluna retornada pelas funções com valor de tabela que podem ser acessadas pelo usuário atual no banco de dados atual.
Para usar essa visualização, especifique o nome totalmente qualificado de
INFORMATION_SCHEMA.ROUTINE_COLUMNS
. Exemplo 1 – Uso básico
Aqui está um exemplo.
SELECT TABLE_CATALOG AS [Database], TABLE_SCHEMA AS [Schema], TABLE_NAME AS [Function], COLUMN_NAME AS [Column], DATA_TYPE AS [Data Type], CHARACTER_MAXIMUM_LENGTH AS [Char Max Length] FROM INFORMATION_SCHEMA.ROUTINE_COLUMNS;
Resultado:
+------------+----------+-------------------+------------+-------------+-------------------+ | Database | Schema | Function | Column | Data Type | Char Max Length | |------------+----------+-------------------+------------+-------------+-------------------| | Music | dbo | ufn_AlbumsByGenre | ArtistName | nvarchar | 255 | | Music | dbo | ufn_AlbumsByGenre | AlbumName | nvarchar | 255 | | Music | dbo | ufn_AlbumsByGenre | Genre | nvarchar | 50 | +------------+----------+-------------------+------------+-------------+-------------------+
Esses resultados me mostram que há apenas uma função com valor de tabela que posso acessar no banco de dados e ela retorna três colunas.
Neste exemplo optei por retornar apenas seis colunas da view. O exemplo a seguir exibe todas as colunas retornadas pela exibição.
Exemplo 2 – Retornar todas as colunas da visualização
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, especifico que a exibição retorne informações sobre apenas uma coluna (portanto, apenas uma linha é retornada).
SELECT * FROM INFORMATION_SCHEMA.ROUTINE_COLUMNS WHERE TABLE_NAME = 'ufn_AlbumsByGenre' AND COLUMN_NAME = 'ArtistName';
Resultado (usando saída vertical):
TABLE_CATALOG | Music TABLE_SCHEMA | dbo TABLE_NAME | ufn_AlbumsByGenre COLUMN_NAME | ArtistName ORDINAL_POSITION | 1 COLUMN_DEFAULT | NULL IS_NULLABLE | NO DATA_TYPE | nvarchar CHARACTER_MAXIMUM_LENGTH | 255 CHARACTER_OCTET_LENGTH | 510 NUMERIC_PRECISION | NULL NUMERIC_PRECISION_RADIX | NULL NUMERIC_SCALE | NULL DATETIME_PRECISION | NULL CHARACTER_SET_CATALOG | NULL CHARACTER_SET_SCHEMA | NULL CHARACTER_SET_NAME | UNICODE COLLATION_CATALOG | NULL COLLATION_SCHEMA | NULL COLLATION_NAME | SQL_Latin1_General_CP1_CI_AS DOMAIN_CATALOG | NULL DOMAIN_SCHEMA | NULL DOMAIN_NAME | NULL
Consulte a documentação da Microsoft para obter informações sobre cada coluna retornada por essa exibição.