logo

Funções PostgreSQL

Nesta seção, vamos entender o funcionamento do Funções PostgreSQL, criar função comando e veja o exemplo em tempo real de Comando CREATE FUNCTION do PostgreSQL usando as diferentes ferramentas do PostgreSQL, como pgadmin4 e Concha SQL (PSQL).

E veja o exemplo de chamar um função definida pelo usuário como notação posicional chamada notação, a notação mista.

Qual é a função PostgreSQL?

Uma função PostgreSQL ou um procedimento armazenado é um conjunto de comandos SQL e procedurais, como declarações, atribuições, loops, fluxo de controle etc. armazenados no servidor de banco de dados e podem ser envolvidos usando o Interface SQL . E também é conhecido como Procedimentos armazenados do PostgreSQL .

Podemos criar funções PostgreSQL em linguagens serval, por exemplo, SQL , PL/pgSQL , C , Pitão etc.

Ele nos permite realizar operações, que geralmente exigiriam vários comandos e viagens de ida e volta em uma função dentro do banco de dados.

O que é o comando da função CREATE do PostgreSQL?

No PostgreSQL, se quisermos especificar uma nova função definida pelo usuário, podemos usar o CRIAR FUNÇÃO comando.

Sintaxe do comando da função CREATE do PostgreSQL

A sintaxe para Comando da função CREATE do PostgreSQL é o seguinte:

 CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype LANGUAGE plpgsql AS $variable_name$ DECLARE declaration; [...] -- variable declaration BEGIN [...] -- logic RETURN variable_name END; $$ 

Na sintaxe acima, usamos os seguintes parâmetros, conforme mostrado na tabela abaixo:

o que ravel faz em python
Parâmetros Descrição
nome_da_função
  • O nome da função parâmetro é usado para definir o nome da função.
  • O nome da função é escrito após o CRIAR FUNÇÃO palavra-chave.
[OU SUBSTITUIR]
  • Podemos usar o OU SUBSTITUIR palavra-chave se quisermos alterar a função atual.
  • E é um parâmetro opcional.
Função
  • Depois de usar o OU SUBSTITUIR palavra-chave, podemos definir a função lista de parâmetros que são cobertos entre parênteses após o Nome da função.
  • E uma função pode conter zero ou vários parâmetros.
RETORNAR
  • Podemos definir o tipo de dados após o RETORNAR palavra-chave, que retornaremos da função.
  • Pode ser um tipo base, composto ou de domínio ou uma referência do tipo de coluna da tabela.
Linguagem plpgsql
  • É usado para definir o nome da linguagem processual na qual a função é executada.
  • E não apenas plpgsql, o PostgreSQL suporta várias linguagens procedurais.
Função_corpo
  • O corpo_função contém as partes executáveis ​​das lógicas.

Exemplo de comando de criação de função do PostgreSQL

Vejamos um exemplo diferente para entender o funcionamento do Função CRIAR do PostgreSQL comando.

Estamos tomando o Carro mesa do Ponto Java banco de dados, criado no Tutorial PostgreSQL.

Criando uma nova função

No comando abaixo, estamos criando uma nova função, que conta o Carros cujo Preço_carro Entre o Preço_de e Preço_até parâmetros:

 Create function get_car_Price(Price_from int, Price_to int) returns int language plpgsql as $$ Declare Car_count integer; Begin select count(*) into Car_count from Car where Car_price between Price_from and Price_to; return Car_count; End; $$; 

O get_car_Price função é dividida em duas seções principais, que são Cabeçalho e Corpo da Função .

Usamos os seguintes parâmetros no Cabeçalho seção:

  • Primeiramente, especificamos o nome da função como get_car_Price(), que está escrito depois do criar função
  • Depois disso, o get_car_Price() função contém dois parâmetros Preço de e Preço_até, tendo tipo de dados inteiro.
  • Então o get_car_Price() função recupera um número inteiro definido pela condição return int.
  • E no final, usamos a linguagem de função como plpgsql .

Usamos os seguintes parâmetros no Corpo funcional seção:

  • Nós usamos o string com cotação em dólar ilustração constante na seção de função, que começa com $$ e termina com $$ .
  • Entre $$ sinal, podemos colocar um bloco, que cobre a declaração e lógica da função .
  • No bloco de declaração, declaramos uma variável chamada Contagem de carros, que armazena os carros selecionados do Carro
  • No corpo da seção do bloco, usamos o SELECIONE EM comando para selecionar o Preço dos carros cujos valores estão entre Preço_de e Preço_até e dê a saída para o Contagem de carros
  • No final do bloco, usamos o RETORNAR comando para obter o

Criando uma função no PostgreSQL

No PostgreSQL, podemos criar uma função de duas maneiras:

    Função de criação do PostgreSQL usando pgAdmin Função de criação do PostgreSQL usando SQL Shell

Função de criação do PostgreSQL usando pgAdmin

Seguiremos o processo abaixo para criar uma função em pgAdmin:

Passo 1

Em primeiro lugar, abriremos a versão mais recente pgAdmin em nosso sistema local, e iremos para a árvore de objetos e nos conectaremos ao Ponto Java banco de dados de amostra no qual queremos criar uma função.

Passo 2

Depois disso, abriremos a ferramenta de consulta clicando em Ferramenta de consulta seguida da seção Ferramentas, como podemos ver na imagem abaixo:

Java não
Função PoatgreSQL2

Etapa 3

Para criar o get_car_Price1() função, usaremos o código acima na ferramenta de consulta e clique no Executar botão.

Após implementar o comando acima, obteremos a janela de mensagem abaixo exibindo que a função get_car_Price1() foi criada com sucesso em um banco de dados semelhante.

Função PoatgreSQL

E podemos identificar a função get_car_Price() no Funções lista como podemos ver na imagem a seguir:

Função PoatgreSQL

Nota: Se não conseguirmos identificar o nome da função, podemos clicar com o botão direito no nó Funções e selecionar o item de menu Atualizar... para reviver a lista de funções:

Função PoatgreSQL

Criando uma função usando SQL Shell (psql)

Seguiremos o processo abaixo para criar uma tabela em psql :

Passo 1

  • Primeiramente, abriremos o psql em nosso sistema local, e nos conectaremos ao banco de dados onde queremos criar uma função.
  • Vamos criar uma tabela no ponto java banco de dados, que criamos anteriormente no tutorial PostgreSQL.

Passo 2

  • Para conectar um banco de dados, inseriremos o comando abaixo:
 c javatpoint 

Saída

Após executar o comando acima, obteremos a seguinte saída:

Função PoatgreSQL

Nota: Se inserirmos um comando semelhante ao acima para criar uma função, no psql, ele emitirá o erro abaixo: a função get_car_price já existe com os mesmos tipos de argumento.

Função PoatgreSQL

Portanto, para resolver este erro, criamos uma nova função como get_car_Price1 () na próxima etapa.

Etapa 3

como revelar aplicativos ocultos

Vamos inserir o comando abaixo para criar uma função como get_car_Price1 () no ponto java base de dados.

 javatpoint=# Create function get_car_Price1(Price_from int, Price_to int) javatpoint-# returns int javatpoint-# language plpgsql javatpoint-# as javatpoint-# $$ javatpoint$# Declare javatpoint$# Car_count integer; javatpoint$# Begin javatpoint$# select count(*) javatpoint$# into Car_count javatpoint$# from Car javatpoint$# where car_price between Price_from and Price_to; javatpoint$# return Price_count; javatpoint$# End; javatpoint$# $$; 

Saída

Obteremos a seguinte saída ao implementar o comando acima, que mostra que o get_car_Price_count1() função foi criada com sucesso.

Função PoatgreSQL

Passo 4

Podemos usar o comando abaixo para listar todas as funções definidas pelo usuário no banco de dados existente.

 javatpoint=# df 

Saída

Após executar o comando acima, obteremos a saída abaixo:

Função PoatgreSQL

Como chamar uma função definida pelo usuário

No PostgreSQL, podemos chamar a função definida pelo usuário de três maneiras, que são as seguintes:

    Notação posicional Notação nomeada A notação mista

Chamando uma função usando notação posicional

Se quisermos descrever os argumentos em uma ordem semelhante aos parâmetros, podemos chamar uma função com o notação posicional ajuda.

o que é tratamento de exceções em java

Vejamos um exemplo para entender o Notação posicional trabalhando para chamar uma função específica.

No exemplo abaixo, o get_car_price() argumentos são 26.000 e 70.000 , o que equivale ao Preço de e Preço_até parâmetros.

 Select get_car_Price(26000,70000); 

Saída

Obteremos a seguinte saída ao implementar o comando acima, que recupera aquelas quatro linhas cujas preço_do_carro está entre 26.000 a 70.000.

Função PoatgreSQL

Quando a função quase não possui parâmetros, podemos chamar uma função com a ajuda do notação posicional .

Se a função contém vários parâmetros, podemos usar o notação nomeada para chamar a função específica porque usando o notação nomeada tornará a chamada de função mais compreensível.

Chamando uma função usando notação nomeada

No exemplo abaixo, estamos exibindo o funcionamento de chamar o get_car_Price() função usando a notação nomeada:

 select get_car_Price( Price_from => 26000, Price_to => 70000 ); 

Saída

Obteremos a seguinte saída ao executar o comando acima, que exibe quatro linhas com base no intervalo de preço_do_carro .

Função PoatgreSQL

Na notação mencionada anteriormente, usamos o => distinguir o argumento nome e valor .

PostgreSQL permite a sintaxe mais antiga criada em := para o compatibilidade com versões anteriores , como podemos ver no seguinte comando:

 select get_car_Price( Price_from := 26000, Price_to := 70000 ); 

Saída

Depois de executar o comando acima, obteremos uma saída semelhante em comparação ao resultado do comando acima, onde usamos o ' =>' em vez de ':=' .

Função PoatgreSQL

Chamando uma função usando a notação mista

É o agrupamento de posicional e nomeado notações.

Vejamos um exemplo para entender o funcionamento do Chamando uma função usando notação mista.

No notação mista , não podemos usar o Parâmetros nomeados antes Parâmetros posicionais .

Por exemplo:

No comando abaixo, usaremos o noção nomeada para Preço de parâmetro como Preço_de=>26.000, enquanto para o Preço_até parâmetro, usamos o noção posicional como 70.000 , como podemos ver no comando abaixo:

urfi javed
 select get_car_Price(Price_from=>26000,70000); 

Saída

Após executar o comando acima, o PostgreSQL gera um erro, que diz que o argumento posicional não pode seguir o argumento nomeado .

Função PoatgreSQL

Para resolver o erro acima, estamos usando o notação posicional e nomeada para o get_car_price() função onde o 26.000 é usado para representar Notação posicional; por outro lado, Preço_até=>70000 é usado para representar notação nomeada :

 select get_car_Price(26000,Price_to=>70000); 

Saída

Após executar o comando acima, obteremos a saída abaixo, que retorna os carros cujos preço_do_carro está entre 26.000 e 70.000.

Função PoatgreSQL

Visão geral

No Função PostgreSQL seção, aprendemos os seguintes tópicos:

  • Nós usamos o Função CRIAR comando para criar uma função definida pelo usuário para a tabela específica.
  • Compreendemos o processo de chamando uma função definida pelo usuário com a ajuda de diferentes notações, como Posicional, Nomeado e Misto.