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 |
|---|
Nome do banco de dados que contém a função (sempre o banco de dados corrente) |
Nome do esquema que contém a função |
O “nome específico” da função. Veja routines para obter mais informações. |
Nome do banco de dados que contém a função (sempre o banco de dados corrente) |
Nome do esquema que contém a função |
Nome da função (pode haver duplicidade em caso de sobrecarga) |
Nome do banco de dados que contém a sequência usada pela função (sempre o banco de dados corrente) |
Nome do esquema que contém a sequência usada pela função |
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