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 |
|---|
Nome do banco de dados que contém a restrição (sempre o banco de dados corrente) |
Nome do esquema que contém a restrição |
Nome da restriçã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. |
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