Função Postgres Drop se existir

Função Postgres Drop se existir
O PostgreSQL é um sistema de gerenciamento de banco de dados de código aberto e o código-fonte está disponível sob a licença do PostgreSQL. Banco de dados PostGresql, como outros bancos de dados, contém dados no formulário tabular. E esses dados são modificados ou atualizados aplicando vários comandos a eles.

Para gerenciar dados ou usá -los nas circunstâncias de uma determinada situação, temos alguns recipientes de armazenamento que obtêm dados e executam operações. Estes são conhecidos como funções ou procedimentos armazenados.

Função PostgreSQL

As funções PostgreSQL são divididas em duas funções principais. Estes são:

Funções internas

Essas funções estão presentes no banco de dados PostGresql, no momento da configuração do sistema de gerenciamento de banco de dados e enquanto se conecta com o servidor. Você pode usá -los apenas usando o nome deles no comando. Alguns exemplos comuns de funções internos são max (), min () e count () etc.

Funções definidas pelo usuário

Essas são as funções definidas pelo usuário. Essas funções ainda não estão presentes, mas só podem ser criadas no momento da introdução do código de acordo com o cenário atual. Você pode usar funções internas dentro deles, mas como um todo, essas funções só funcionam quando são criadas manualmente. Alguns exemplos são como get_result (), APPL_Interest (), etc. Neste tutorial, falaremos sobre esses tipos de funções.

Função de soltar

Drop Function lida com a remoção da função já criada no PostgreSQL. Assim como as tabelas, as funções também são descartadas ou são truncadas. Então, para entender o conceito de funções de gota se elas existirem, precisamos primeiro entender a criação de funções e seu trabalho. Depois disso, viremos para deixá -los.

Criação de funções Postgres

Agora, veremos a sintaxe para fazer uma função. Assim como uma tabela no PostgreSQL, usaremos um comando de criação, mas o procedimento é diferente.

Sintaxe

Criar função name_of_function (argumentos)
Retorna Datatype
Idioma psql
Como $ variable_name $
DECLARAR
declaração;
(Declaração variável)
COMEÇAR
< function_body >
(lógica)
Return variable_name | valor
FIM;
$$

Os parâmetros da sintaxe acima são descritos como:

  • Name_of_function: Este parâmetro é usado para dar um nome à função definida pelo usuário. Isso é escrito após as palavras -chave criar função.
  • Argumentos: esse recurso contém os parâmetros da função que serão usados ​​dentro da função.
  • Retorno: esse recurso retorna o valor em um tipo de dados específico que é definido após a palavra -chave de retorno.
  • Idioma: isso define a linguagem de programação usada na função.
  • Function_body: esta parte é a parte principal da função definida pelo usuário, pois contém a lógica ou a condição feita pelo usuário.

Implementamos o comando de criação de funções no painel pgadmin. Também os consideraremos no shell mais tarde no artigo. Portanto, abra o pgadmin, conecte -se ao servidor e selecione a opção Ferramentas e selecione a ferramenta de consulta. Uma janela será aberta, escreva o comando nessa parte.

Agora, considere um exemplo no qual criamos uma função para armazenar e devolver informações do professor, incluindo identificação de professor, nome e título. Escrevemos a lógica principal do comando de criação de funções abaixo. Todo o código é mencionado na imagem anexada.

Crie ou substitua a função get_teacher_info ()
começar
para rec. em seleção
professor_id,
título,
(primeiro_name || "|| last_name) :: varchar
do professor
Inner Junção Professor_info usando (professor_id)
Assunto de junção interna usando (sujeito_id)
Ordem por título
retornar;
fim;
$$

As informações na função de informação do professor se juntam a duas tabelas que contêm os dados relevantes para o assunto e o professor que tem sujeito_id e professor_id como o parâmetro. Agora, execute o código clicando no botão Execute no topo. Na execução, é exibida uma mensagem de que a função é criada com sucesso.

Este exemplo de criação de funções foi sem o uso de qualquer argumento. Então agora, criaremos novamente uma função com o mesmo nome, mas a diferença é que a função aceitará um parâmetro com ele.

Então, essa é a diferença que discriminará a nova função do anterior. É por isso que outra função com o mesmo nome do anterior é criada. Caso contrário, não pode ser possível criar duas funções com um nome semelhante e argumentos semelhantes.

Como tabelas e bancos de dados, também podemos observar os nomes das funções na barra de navegação esquerda expandindo o servidor e os bancos de dados; você chegará aos esquemas do banco de dados. Na expansão do esquema, você verá uma opção 'pública'; Isso o levará à opção de função. Todas as funções criadas estão listadas aqui.

DERRUBAR Função

Para soltar uma função definida pelo usuário no banco de dados, usamos uma instrução DROP. Esta afirmação é exatamente como o comando usado para soltar a mesa.

Sintaxe

Função de soltar [se existe] name_of_function (argumentos)
[Cascade | restringir];

Agora, explicaremos esses parâmetros e seu uso.

  • Em primeiro lugar, especificamos o nome da função que queremos excluir aplicando a instrução DROP. Isso está escrito após a função de queda da palavra -chave.
  • Em segundo lugar, usamos uma opção 'se existir', isso ajuda o banco de dados PostGresql a exibir uma mensagem de um erro se a função especificada não estiver presente.
  • Terceiro trata da lista dos argumentos da função. Como vimos que as funções podem estar com ou sem parâmetros, então o PostgreSQL quer saber a função que queremos remover, verificando os argumentos que solicitamos.
  • A cascata e as opções restritas são opcionais de acordo com a implementação da declaração de queda de condição.

Usaremos uma declaração de queda na mesma função que criamos acima sem argumento.

>> Função de soltar get_teacher_info;

Esta afirmação produzirá um erro, pois não está claro para o PostGresql que funcione a cair, pois criamos duas funções de mesmo nome com o argumento especificado. A solução é usar um parêntese vazio com a função mostrando zero parâmetros.

>> Função de soltar get_teacher_info ();

Isso vai funcionar. De dois, agora uma função é deixada para trás. Usar o nome será suficiente para abandonar a função.

>> Função de soltar get_teacher_info;

Ou a segunda opção é usar o comando com o parâmetro para especificar diretamente a função.

Soltar função no shell psql

Semelhante à função usada em pgadmin, criamos uma função aqui.

>> Crie função get_house_price (price_from int, price_to int)
retorna int
Idioma PLPGSQL
como
$$
Declarar
house_count inteiro;
Começar
Selecione a contagem (*)
em house_count
de casa
onde house_price entre price_from e price_to;
retornar house_count;
Fim;
$$;

Agora, veremos a função criada, enquanto todas as outras funções podem ser exibidas usando um comando psql. Este comando traz a lista de funções junto com o tipo de dados do esquema e os argumentos da função.

>> \ df

Para abandonar a função, agora usaremos o comando Drop com os argumentos.

>> Função de soltar get_house_price (preced_from inteiro, price_to inteiro);

Conclusão

O artigo 'PostGres Drop Função' é implementado no sistema de gerenciamento de banco de dados PostGresql nos painéis PGADMIN e no PSQL também usando o Windows 10. Em primeiro lugar, criamos uma função para explicar o funcionamento de uma função. Em seguida, o comando DROP é aplicado às funções nos dois sentidos, com ou sem parâmetros.