A visão routines contém todas as funções no banco de dados corrente. Somente são mostradas as funções que o usuário corrente pode acessar (seja por ser o dono ou por possuir algum privilégio). [1] [2]
Tabela 30-24. Colunas de routines
Nome | Tipo de dado | Descrição |
---|---|---|
specific_catalog | sql_identifier | Nome do banco de dados que contém a função (sempre o banco de dados corrente) |
specific_schema | sql_identifier | Nome do esquema que contém a função |
specific_name | sql_identifier | O "nome específico" da função. É um nome que identifica unicamente a função no esquema, mesmo quando o nome verdadeiro da função é sobrecarregado. O formato do nome específico não é definido, devendo ser utilizado apenas para comparar com outras instâncias de nomes específicos de rotinas. |
routine_catalog | sql_identifier | Nome do banco de dados que contém a função (sempre o banco de dados corrente) |
routine_schema | sql_identifier | Nome do esquema que contém a função |
routine_name | sql_identifier | Nome da função (pode ser duplicado em caso de sobrecarga) |
routine_type | character_data | Sempre FUNCTION (No futuro poderão existir outros tipos de rotina). |
module_catalog | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
module_schema | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
module_name | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
udt_catalog | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
udt_schema | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
udt_name | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
data_type | character_data | Tipo de dado retornado pela função, se for um tipo nativo, ou ARRAY se for uma matriz (neste caso deve ser vista a visão element_types), senão USER-DEFINED (neste caso o tipo é identificado em type_udt_name e nas colunas associadas). |
character_maximum_length | cardinal_number | Sempre nulo, uma vez que esta informação não se aplica a tipos de dado retornados no PostgreSQL |
character_octet_length | cardinal_number | Sempre nulo, uma vez que esta informação não se aplica a tipos de dado retornados no PostgreSQL |
character_set_catalog | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
character_set_schema | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
character_set_name | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
collation_catalog | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
collation_schema | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
collation_name | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
numeric_precision | cardinal_number | Sempre nulo, uma vez que esta informação não se aplica a tipos de dado retornados no PostgreSQL |
numeric_precision_radix | cardinal_number | Sempre nulo, uma vez que esta informação não se aplica a tipos de dado retornados no PostgreSQL |
numeric_scale | cardinal_number | Sempre nulo, uma vez que esta informação não se aplica a tipos de dado retornados no PostgreSQL |
datetime_precision | cardinal_number | Sempre nulo, uma vez que esta informação não se aplica a tipos de dado retornados no PostgreSQL |
interval_type | character_data | Sempre nulo, uma vez que esta informação não se aplica a tipos de dado retornados no PostgreSQL |
interval_precision | character_data | Sempre nulo, uma vez que esta informação não se aplica a tipos de dado retornados no PostgreSQL |
type_udt_catalog | sql_identifier | Nome do banco de dados onde o tipo de dado retornado pela função está definido (sempre o banco de dados corrente) |
type_udt_schema | sql_identifier | Nome do esquema onde o tipo de dado retornado pela função está definido |
type_udt_name | sql_identifier | Nome do tipo de dado retornado pela função |
scope_catalog | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
scope_schema | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
scope_name | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
maximum_cardinality | cardinal_number | Sempre nulo, porque as matrizes sempre possuem uma cardinalidade máxima não definida no PostgreSQL |
dtd_identifier | sql_identifier | O identificador do descritor do tipo de dado retornado pela função, único entre os descritores de tipo de dado que pertencem à função. A utilidade principal é para fazer junção com outras instâncias destes identificadores (O formato específico do identificador não é definido, e também não há garantia que permaneça o mesmo nas versões futuras). (dtd = descritor do tipo de dado - N. do T.) |
routine_body | character_data | Se a função for uma função SQL então SQL, senão EXTERNAL. |
routine_definition | character_data | O texto fonte da função (nulo se o usuário corrente não for o dono da função) (De acordo com o padrão SQL, esta coluna somente se aplica se routine_body for SQL, mas no PostgreSQL contém qualquer que seja o texto fonte especificado quando a função foi criada). |
external_name | character_data | Se a função for uma função C, então o nome externo (símbolo de ligação) da função; senão nulo (Acaba sendo o mesmo valor mostrado em routine_definition). |
external_language | character_data | A linguagem na qual a função foi escrita |
parameter_style | character_data | Sempre GENERAL (O padrão SQL define outros estilos de parâmetro, que não estão disponíveis no PostgreSQL). |
is_deterministic | character_data | Se a função for declarada como imutável (chamado de determinística no padrão SQL) então YES, senão NO (Não é possível consultar os demais níveis de volatilidade disponíveis no PostgreSQL através do esquema de informações). |
sql_data_access | character_data | Sempre MODIFIES, significando que a função possivelmente modifica dados SQL. Esta informação não é útil para o PostgreSQL. |
is_null_call | character_data | Se a função retorna nulo automaticamente quando um de seus argumentos é nulo então YES, senão NO. |
sql_path | character_data | Se aplica a uma funcionalidade não disponível no PostgreSQL |
schema_level_routine | character_data | Sempre YES (O oposto seria um método de um tipo definido pelo usuário, que é uma funcionalidade não disponível no PostgreSQL.) |
max_dynamic_result_sets | cardinal_number | Se aplica a uma funcionalidade não disponível no PostgreSQL |
is_user_defined_cast | character_data | Se aplica a uma funcionalidade não disponível no PostgreSQL |
is_implicitly_invocable | character_data | Se aplica a uma funcionalidade não disponível no PostgreSQL |
security_type | character_data | Se a função executa com os privilégios do usuário corrente, então INVOKER, se a função executa com os privilégios do usuário que a definiu então DEFINER. |
to_sql_specific_catalog | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
to_sql_specific_schema | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
to_sql_specific_name | sql_identifier | Se aplica a uma funcionalidade não disponível no PostgreSQL |
as_locator | character_data | Se aplica a uma funcionalidade não disponível no PostgreSQL |
[1] |
ROUTINES — visão — Identifica as rotinas chamadas pelo SQL neste catálogo acessíveis a um determinado usuário ou grupo. (ISO-ANSI Working Draft) Information and Definition Schemas (SQL/Schemata), ISO/IEC 9075-11:2003 (E) (N. do T.) |
[2] |
A visão ROUTINES contém uma linha para cada procedimento armazenado e função que pode ser acessada pelo usuário corrente no banco de dados corrente. As colunas que descrevem o valor retornado se aplicam apenas às funções. Para os procedimentos armazenados estas colunas têm o valor NULL. A visão INFORMATION_SCHEMA.ROUTINES é baseada nas tabelas do sistema sysobjects e syscolumns. SQL Server Books Online (N. do T.) |