35.43. routine_sequence_usage #

A visão routine_sequence_usage identifica todas as sequências usadas por uma função ou procedimento, seja no corpo do SQL ou em expressões padrão de parâmetros. (Só funciona em corpos SQL não delimitados, e não em corpos delimitados ou funções em outras linguagens.) A sequência só será incluída se pertencer à função de banco de dados ativa no momento.

Tabela 35.41. Colunas de routine_sequence_usage

Coluna Tipo de dados

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. Veja routines para obter mais informações.

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 haver duplicidade em caso de sobrecarga)

schema_catalog sql_identifier

Nome do banco de dados que contém a sequência usada pela função (sempre o banco de dados corrente)

sequence_schema sql_identifier

Nome do esquema que contém a sequência usada pela função

sequence_name sql_identifier

Nome da sequência usada pela função


Exemplo 35.40. Exemplo do tradutor

Sequências usadas por função ou procedimento

Uso do esquema de informações para mostrar todas as sequências usadas por uma função ou procedimento, seja no corpo ou nas expressões padrão dos parâmetros, no banco de dados cristina da usuária cristina.

CREATE SEQUENCE seqstart101 START 101;
CREATE SEQUENCE
CREATE FUNCTION funsequsage (
    nome text,
    id   integer DEFAULT nextval('seqstart101'))
RETURNS SETOF RECORD
AS $$
BEGIN
  RETURN QUERY VALUES(nome, id);
END
$$ LANGUAGE plpgsql;
CREATE FUNCTION
SELECT *
FROM funsequsage(current_user) AS (nome text, id integer);

   nome   | id
----------+-----
 cristina | 101
(1 linha)

SELECT *
FROM information_schema.routine_sequence_usage\gx

-[ RECORD 1 ]----+------------------
specific_catalog | cristina
specific_schema  | public
specific_name    | funsequsage_34421
routine_catalog  | cristina
routine_schema   | public
routine_name     | funsequsage
sequence_catalog | cristina
sequence_schema  | public
sequence_name    | seqstart101