Compartilhar via


ROUTINES (Transact-SQL)

Retorna uma linha para cada procedimento armazenado e função que pode ser acessada pelo usuário atual no banco de dados atual. As colunas que descrevem o valor de retorno se aplicam somente a funções. Para procedimentos armazenados, estas colunas terão valor NULL.

Para recuperar informações dessas exibições, especifique o nome totalmente qualificado de INFORMATION_SCHEMA.view_name.

ObservaçãoObservação

A coluna ROUTINE_DEFINITION contém as instruções originais que criaram a função ou o procedimento armazenado. Estas instruções originais provavelmente conterão retornos de carro incorporados. Se você estiver retornando esta coluna a um aplicativo que exibe os resultados em formato de texto, os retornos de carro embutidos nos resultados de ROUTINE_DEFINITION poderão afetar a formatação do conjunto de resultados geral. Se você selecionar a coluna de ROUTINE_DEFINITION, deverá ajustar os retornos de carro embutidos, por exemplo, retornando o conjunto de resultados em uma grade ou retornando ROUTINE_DEFINITION em sua própria caixa de texto.

Nome da coluna

Tipo de dados

Descrição

SPECIFIC_CATALOG

nvarchar(128)

Nome específico do catálogo. Este nome é igual a ROUTINE_CATALOG.

SPECIFIC_SCHEMA

nvarchar(128)

Nome específico do esquema.

Observação importanteImportante
Não use exibições INFORMATION_SCHEMA para determinar o esquema de um objeto. O único modo seguro de localizar o esquema de um objeto é consultar a exibição do catálogo ou a função OBJECT_SCHEMA_NAME.

SPECIFIC_NAME

nvarchar(128)

Nome específico do catálogo. Esse nome é igual a ROUTINE_NAME.

ROUTINE_CATALOG

nvarchar(128)

Nome de catálogo da função.

ROUTINE_SCHEMA

nvarchar(128)

Nome do esquema que contém esta função.

Observação importanteImportante
Não use exibições INFORMATION_SCHEMA para determinar o esquema de um objeto. O único modo seguro de localizar o esquema de um objeto é consultar a exibição do catálogo sys.objects ou a função OBJECT_SCHEMA_NAME.

ROUTINE_NAME

nvarchar(128)

Nome da função.

ROUTINE_TYPE

nvarchar(20)

Retorna PROCEDURE para procedimentos armazenados e FUNCTION para funções.

MODULE_CATALOG

nvarchar(128)

NULL. Reservado para uso futuro.

MODULE_SCHEMA

nvarchar(128)

NULL. Reservado para uso futuro.

MODULE_NAME

nvarchar(128)

NULL. Reservado para uso futuro.

UDT_CATALOG

nvarchar(128)

NULL. Reservado para uso futuro.

UDT_SCHEMA

nvarchar(128)

NULL. Reservado para uso futuro.

UDT_NAME

nvarchar(128)

NULL. Reservado para uso futuro.

DATA_TYPE

nvarchar(128)

Tipo de dado do valor de retorno da função. Retorna table no caso de valor de tabela.

CHARACTER_MAXIMUM_LENGTH

int

Comprimento máximo em caracteres se o tipo de retorno for um tipo de caractere.

-1 para xml e dados do tipo de valor grande.

CHARACTER_OCTET_LENGTH

int

Comprimento máximo em bytes se o tipo de retorno for um tipo de caractere.

-1 para xml e dados do tipo de valor grande.

COLLATION_CATALOG

nvarchar(128)

Sempre retorna NULL.

COLLATION_SCHEMA

nvarchar(128)

Sempre retorna NULL.

COLLATION_NAME

nvarchar(128)

Nome do agrupamento do valor de retorno. Para tipos não caractere, retorna NULL.

CHARACTER_SET_CATALOG

nvarchar(128)

Sempre retorna NULL.

CHARACTER_SET_SCHEMA

nvarchar(128)

Sempre retorna NULL.

CHARACTER_SET_NAME

nvarchar(128)

O nome do conjunto de caracteres do valor de retorno. Para tipos não-caractere, retorna NULL.

NUMERIC_PRECISION

smallint

Precisão numérica do valor de retorno. Para os tipos não numéricos, retorna o NULL.

NUMERIC_PRECISION_RADIX

smallint

Precisão numérica da base do valor de retorno. Para tipos não numéricos, retorna NULL.

NUMERIC_SCALE

smallint

Escala do valor de retorno. Para tipos não numéricos, retorna NULL.

DATETIME_PRECISION

smallint

Precisão fracionária de um segundo, se o valor de retorno for do tipo datetime. Caso contrário, retorna NULL.

INTERVAL_TYPE

nvarchar(30)

NULL. Reservado para uso futuro.

INTERVAL_PRECISION

smallint

NULL. Reservado para uso futuro.

TYPE_UDT_CATALOG

nvarchar(128)

NULL. Reservado para uso futuro.

TYPE_UDT_SCHEMA

nvarchar(128)

NULL. Reservado para uso futuro.

TYPE_UDT_NAME

nvarchar(128)

NULL. Reservado para uso futuro.

SCOPE_CATALOG

nvarchar(128)

NULL. Reservado para uso futuro.

SCOPE_SCHEMA

nvarchar(128)

NULL. Reservado para uso futuro.

SCOPE_NAME

nvarchar(128)

NULL. Reservado para uso futuro.

MAXIMUM_CARDINALITY

bigint

NULL. Reservado para uso futuro.

DTD_IDENTIFIER

nvarchar(128)

NULL. Reservado para uso futuro.

ROUTINE_BODY

nvarchar(30)

Retorna o SQL para uma função Transact-SQL e EXTERNAL para uma função escrita externamente.

Funções sempre serão o SQL.

ROUTINE_DEFINITION

nvarchar(4000)

Retorna os primeiros 4000 caracteres do texto de definição da função ou procedimento armazenado, se a função ou procedimento armazenado não for criptografado. Caso contrário, retorna NULL.

Para garantir que você obtenha a definição completa, consulte a função OBJECT_DEFINITION ou a coluna de definição na exibição do catálogo sys.sql_modules.

EXTERNAL_NAME

nvarchar(128)

NULL. Reservado para uso futuro.

EXTERNAL_LANGUAGE

nvarchar(30)

NULL. Reservado para uso futuro.

PARAMETER_STYLE

nvarchar(30)

NULL. Reservado para uso futuro.

IS_DETERMINISTIC

nvarchar(10)

Retornará YES se a rotina for determinística.

Retornará NO se a rotina não for determinística.

Sempre retorna NO para procedimentos armazenados.

SQL_DATA_ACCESS

nvarchar(30)

Retorna um dos seguintes valores:

NONE = Função não contém SQL.

CONTAINS = Função possivelmente contém SQL.

READS = Função possivelmente lê dados SQL.

MODIFIES = Função possivelmente modifica dados SQL.

Retorna READS para todas as funções e MODIFIES para todos os procedimentos armazenados.

IS_NULL_CALL

nvarchar(10)

Indica se a rotina será chamada se qualquer um de seus argumentos for NULL.

SQL_PATH

nvarchar(128)

NULL. Reservado para uso futuro.

SCHEMA_LEVEL_ROUTINE

nvarchar(10)

Retorna YES se for uma função de nível de esquema ou NO se não for uma função de nível de esquema.

Sempre retorna YES.

MAX_DYNAMIC_RESULT_SETS

smallint

Número máximo de conjuntos de resultados dinâmicos retornado por rotina.

Retorna 0 em caso de funções.

IS_USER_DEFINED_CAST

nvarchar(10)

Retorna YES em caso de função cast definida pelo usuário e NO se não for uma função cast definida pelo usuário.

Sempre retorna NO.

IS_IMPLICITLY_INVOCABLE

nvarchar(10)

Retorna YES se a rotina puder ser invocada implicitamente e NO se função não puder ser invocada implicitamente.

Sempre retorna NO.

CREATED

datetime

A hora em que a rotina foi criada.

LAST_ALTERED

datetime

A última vez que a função foi modificada.

Exemplos

O exemplo a seguir retorna informações sobre cada procedimento armazenado ou função definida pelo usuário no banco de dados.

USE AdventureWorks;
GO

SELECT ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, 
       ROUTINE_DEFINITION AS [First 4000 characters], CREATED, LAST_ALTERED
FROM INFORMATION_SCHEMA.ROUTINES
ORDER BY ROUTINE_TYPE;