Sintaxe
A sintaxe da função PostgreSQL é dada abaixo.
Crie ou substitua a função function_name (argument_list)Pré-requisitos
A. Instale o PostGresql
Você deve instalar a versão mais recente dos pacotes PostGresql no sistema operacional Linux antes de executar as instruções SQL mostradas neste tutorial. Execute os seguintes comandos para instalar e iniciar o PostgreSQL:
$ sudo apt-get -y install postgresql postgresql-contra
$ sudo SystemCtl Iniciar PostgreSQL.serviço
Execute o seguinte comando para fazer login no PostgreSQL com privilégio de root.
$ sudo -u postgres psql
B. Você pode criar um banco de dados nomeado “Testdb” executando a seguinte instrução SQL.
# Criar banco de dados TestDB;Se você quiser criar uma tabela para o testdb banco de dados, então você tem que digitar "\ C" Para alterar o banco de dados. Mas neste tutorial, eu não mudei o banco de dados e a tabela, e todas as funções foram criadas no banco de dados padrão nomeado PostGres.
C. Crie uma tabela denominada produtos com quatro campos e insira quatro registros na tabela para testar as funções definidas pelo usuário que serão criadas posteriormente neste tutorial.
# Criar produtos de tabela (D. Insira quatro registros na tabela.
# Inserir em produtos (nome, tipo, preço)Exemplos diferentes de funções definidas pelo usuário do PostGresql
Os usos de funções definidos pelo usuário com argumento e sem argumento no PostgreSQL foram mostrados abaixo usando vários exemplos.
Exemplo 1: Função definida pelo usuário sem argumento e valor de retorno
Execute a seguinte instrução SQL para criar uma função nomeada function1 () sem nenhum argumento, e a função não retornará nada. A função atualizará o registro da tabela de produtos em que o valor de identificação é 3 após a execução.
# Criar ou substituir a função da função1 ()A saída a seguir aparecerá se a função for criada com sucesso no PostGres base de dados.
Execute a seguinte declaração SQL para ler todos os registros do produtos tabela antes de executar function1 ().
# Selecione * FROM PRODUTOS;A saída a seguir mostra os registros inseridos do produtos mesa.
Execute a seguinte instrução SQL para executar a função.
# Selecione function1 ();
A saída a seguir mostra que uma linha é afetada chamando a função function1 (). O valor do campo de preços da tabela será atualizado onde o valor de identificação é 3.
Execute a seguinte declaração SQL para ler todos os registros do produtos tabela após executar function1 ().
# Selecione * FROM PRODUTOS;A saída a seguir mostra que o valor do preço da tabela de produtos foi atualizado onde o valor do ID é 3 e agora é 1500.
Exemplo-2: Função definida pelo usuário com argumento
O argumento padrão da função está em argumento. Execute a seguinte instrução SQL para criar uma função nomeada function2 () com dois argumentos, e a função não retornará nada. A função inserirá um novo recorde para o produtos tabela com os valores do argumento.
# Criar ou substituir a função da função2 (nome Varchar, tipo Varchar, Price Int)
A saída a seguir aparecerá se a função for criada com sucesso no PostGres base de dados.
Execute a seguinte instrução SQL para executar a função três em valores de argumento. Estes são "iPhone", "Mobile" e 2000.
# Select Function2 ('iPhone', 'Mobile', 2000);A saída a seguir mostra que uma linha é afetada chamando a função function2 (), e um novo registro será inserido na tabela.
Execute a seguinte declaração SQL para ler todos os registros do produtos tabela após executar function2 ().
# Selecione * FROM PRODUTOS;A saída a seguir mostra que um novo registro foi inserido no produtos mesa.
Exemplo 3: Função definida pelo usuário sem argumento
O argumento de saída é usado para retornar o valor da função. Execute a seguinte instrução SQL para criar uma função nomeada function3 () com um argumento fora do tipo de dinheiro, e a função retornará dados do tipo de dinheiro. A função retornará o valor atribuído do argumento.
# Crie ou substitua a função da função3 (preço de preço)
A saída a seguir aparecerá se a função for criada com sucesso no PostGres base de dados.
Execute a seguinte instrução SQL para excluir registros da tabela de produtos com base no valor retornado pela função3 ().
# Exclua dos produtos onde o preço <= function3();
A saída a seguir mostra que três linhas são afetadas chamando a função function3 (). O valor retornado da função é 1000, que corresponde aos três registros do produtos Tabela onde o eu ia Os valores são 1, 2, e 4.
Execute a seguinte declaração SQL para ler todos os registros do produtos tabela após executar function3 (). A saída mostra que existem dois registros na tabela onde o preço Os valores são mais de 1000.
# Selecione * FROM PRODUTOS;A saída a seguir mostra que 3 registros foram excluídos do produtos mesa.
Exemplo-4: Função definida pelo usuário com argumento de entrada
O argumento de entrada é usado na função para transmitir valores para a função e retornar valores da função. Execute a seguinte instrução SQL para criar uma função nomeada calcular() com um argumento de entrada do tipo de flutuação e um argumento do tipo inteiro. A função retornará dados do tipo de flutuação. A função será executada com o valor das vendas, que será um valor de flutuação, e o desconto, que será um número inteiro. O valor das vendas após o desconto será calculado com base nos valores do argumento no argumento. Em seguida, o valor das vendas calculado será retornado da função usando o argumento de saída.
# Criar ou substituir a função Calcular (A saída a seguir aparecerá se a função for criada com sucesso no PostGres base de dados.
Execute a seguinte declaração para executar a função com 10000 como o valor das vendas e 5 como o valor do desconto
#Select Calcule (10000, 5) como desconto_amount;O 5% de 10000 é 500 e 10000-500 = 9500. A saída a seguir mostra o valor das vendas após um desconto de 5%.
Exemplo 5: Usuário-Definado Função com o Afirmação condicional
Execute a seguinte instrução SQL para criar uma função nomeada Search_Product () com um argumento, e a função retornará os dados do tipo Varchar. A maneira de declarar a variável de função e usar a declaração condicional foi demonstrada nesta função. A variável de função nomeada Nome do Produto foi definido com o Nome tipo de produtos mesa. O valor do argumento, tp, será correspondido com o valor do tipo campo do produtos mesa. Se nenhuma correspondência for encontrada na tabela, será levantada um erro com a mensagem: “O tipo de produto não existe”. Se alguma correspondência for encontrada, o valor do Nome O campo desse tipo de produto será armazenado na variável de função e a variável será retornada da função.
# Crie ou substitua a função search_product (tp varchar)A saída a seguir aparecerá se a função for criada com sucesso no PostGres base de dados.
Execute a seguinte instrução SQL para ler todos os registros da tabela de produtos.
# Selecione * FROM PRODUTOS;Execute a seguinte instrução SQL para executar a função search_product () com o tipo de produto “Móvel”.
# Selecione Search_Product ('Mobile');Execute a seguinte instrução SQL para executar a função search_product () com o tipo de produto “AC”.
# Selecione Search_Product ('AC');A saída a seguir mostra que o produtos A tabela contém dois registros de valores de tipo, “televisão" e "Móvel”. A saída da primeira execução da função retornou "iphon" porque o tipo de produto "móvel" existe na tabela. A saída da segunda execução da função retornou uma mensagem de erro porque o tipo de produto “AC” não existe na tabela.
Exemplo 6: Função definida pelo usuário com função agregada
Qualquer função agregada suportada pelo SQL pode ser usada na função PostGresql. Execute a seguinte instrução SQL para criar uma função nomeada count_product () sem nenhum argumento, e a função retornará os dados do tipo inteiro. A função agregada count () foi usada na função usada para contar o número de linhas com base na condição específica. Aqui, uma variável de função chamada total_product foi declarada na função de armazenar o valor de retorno da função count (). A função count () foi usada na consulta selecionada para contar os registros em que o nome do produto começa com a palavra "Sony".
# Crie ou substitua a função count_product ()A saída a seguir aparecerá se a função for criada com sucesso no PostGres base de dados.
Execute o seguinte comando para executar a função, count_product ().
# Selecione count_product ();A saída a seguir mostra que a função count () retorna o valor 1 porque há apenas um registro que corresponde ao valor, "Sony".
Conclusão
O objetivo de usar as funções PostgreSQL e diferentes maneiras de usar as funções PostgreSQL com argumentos em, out e inout foram descritos neste tutorial, criando várias funções PostGresql. O argumento no argumento é usado para assumir o valor da função. O argumento de saída é usado para retornar o valor da função. O argumento de entrada é usado para levar o valor de entrada na função e retornar a saída da função. A função pode ser criada sem nenhum argumento também. Espero que o usuário possa criar e usar a função PostgreSQL corretamente depois de ler este tutorial.