35.8. check_constraint_routine_usage #

A visão check_constraint_routine_usage identifica as rotinas (funções e procedimentos) usadas por restrição de verificação. Somente são mostradas as rotinas que pertencem à função de banco de dados (role) ativa no momento.

Tabela 35.6. Colunas de check_constraint_routine_usage

Coluna Tipo de dados

Descrição

constraint_catalog sql_identifier

Nome do banco de dados que contém a restrição (sempre o banco de dados corrente)

constraint_schema sql_identifier

Nome do esquema que contém a restrição

constraint_name sql_identifier

Nome da restriçã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.


Exemplo 35.5. Exemplo do tradutor

Rotinas usadas por restrição de verificação

Uso do esquema de informações para mostrar as rotinas (funções e procedimentos) usadas por restrição de verificação no banco de dados cristina da usuária cristina.

CREATE FUNCTION maior_1000 (IN valor NUMERIC)
RETURNS boolean AS $$
BEGIN
   IF @valor > 1000 THEN
      RETURN true;
   ELSE
      RETURN false;
   END IF;
END
$$ LANGUAGE plpgsql;
CREATE FUNCTION
CREATE TABLE teste (
    chave TEXT PRIMARY KEY,
    valor NUMERIC CHECK(maior_1000(valor))
);
CREATE TABLE
INSERT INTO teste VALUES('a',1000);
ERRO:  a nova linha da relação "teste" viola a ↵
       restrição de verificação "teste_valor_check"
DETALHE:  Registro que falhou contém (a, 1000).
INSERT INTO teste VALUES('a',1001);
INSERT 0 1
SELECT *
FROM information_schema.check_constraint_routine_usage\gx

-[ RECORD 1 ]------+------------------
constraint_catalog | cristina
constraint_schema  | public
constraint_name    | teste_valor_check
specific_catalog   | cristina
specific_schema    | public
specific_name      | maior_1000_34234