PostgreSQL parâmetros nomeados

PostgreSQL parâmetros nomeados
O sistema de gerenciamento PostgreSQL faz com que as funções nomeassem parâmetros usando uma notação de posição ou notação nomeada. Utilizamos a notação nomeada principalmente na situação em que precisamos passar por um grande número de parâmetros; Ao usar isso, a associação se torna mais explícita entre os argumentos e os parâmetros das funções.

Enquanto estamos usando funções ou procedimentos no PostgreSQL, ele nos permite transmitir dados da chamada de função para os procedimentos e, ao mesmo tempo, pode receber dados de volta das funções. Esta ação ou funcionalidade específica é feita apenas através dos parâmetros. Quanto à discussão dos parâmetros nomeados, temos que declarar funções. Então, agora veremos como as funções funcionam com o PostgreSQL.

Funções

As funções PostgreSQL também são consideradas como os procedimentos. Eles são usados ​​para executar operações que geralmente podem receber várias consultas se, sem usar funções, queremos executar qualquer lógica. Mas, criando funções, podemos executar qualquer cenário em um único procedimento; Somente uma chamada de função é necessária para iniciar a operação.

Sintaxe

Crie [ou substitua] função name_of_function (argumentos)
Retorna Datatype como $ name_of_variable $
DECLARAR
Any_Declarartion;
COMEÇAR
< body_of_function >
[…]
Return name_of_variable | valor
FIM;
Idioma PLPGSQL;

Descrição:

  • Primeiro, mencionamos o nome da função depois de usar a palavra 'Criar função'.
  • Uma palavra -chave, a função de substituição, é usada se você precisar substituir uma função já existente.
  • Em seguida, os parâmetros de função são escritos dentro do parêntese.
  • No final, escrevemos sobre o idioma usado.

Existem dois tipos de parâmetros que são passados ​​pela função.

  • Parâmetro nomeado
  • Parâmetro posicional

Parâmetro nomeado

Se especificarmos os parâmetros de uma função usando uma notação nomeada, este é um parâmetro nomeado, e uma seta com o valor do parâmetro segue -a.

Parâmetros posicionais

Se usarmos diretamente os valores dos parâmetros posicionais como uma notação posicional, os parâmetros devem ser listados na mesma ordem em que são declarados. Considerando que, no caso de notação nomeada, não é obrigatório especificar um pedido.

Implementação

Para elaborar o conceito de um parâmetro nomeado, primeiro criaremos uma função ou um procedimento no PostgreSQL. Uma função chamada 'l_u_case' é criada para trabalhar nas cordas enviadas a ela através de uma chamada de função. Ele converte as palavras em maiúsculas ou minúsculas. Ao criar a função, o recurso principal são seus parâmetros que contêm variáveis ​​para recebimento de dados. Então, nesta função, criamos duas variáveis ​​do tipo texto para armazenar dados. E a terceira variável é do tipo booleano. É sabido que o valor variável da bandeira booleana é verdadeiro ou falso. Portanto, uma variável de maiúsculas é definida como falsa por padrão. Isso significa que, se o usuário usar uma chamada de função sem mencionar o nome do caso, superior ou inferior, então por padrão, o texto será convertido em minúsculas, se estiver nas letras mais altas também.

Crie função l_u_case (um texto, u boolean padrão false)
Retorna o texto
COMO
$$
SELECIONAR CASO
Quando US $ 3 então superior (US $ 1 || "|| $ 2)
Caso contrário (US $ 1 || "|| $ 2)
FIM;
$$
Idioma sql imutável rigoroso;

O comando select é usado aqui para selecionar o caso usando a terceira variável. Se a terceira variável booleana para maiúsculas estiver presente, concatenar as cordas presentes nas variáveis ​​“A” e “B”. Cada string é concatenada com um espaço em branco entre eles. Na segunda opção, se a variável booleana não for mencionada, a minúscula será aplicada com o mesmo método de concatenação. Na execução, a seguinte mensagem é exibida.

Agora aplicaremos o parâmetro nomeado como uma notação nomeada e uma notação posicional.

Notação posicional

Neste exemplo, a chamada de função é feita com os valores diretamente escritos sem usar nenhuma variável como argumento para a chamada de função. A chamada de função é realizada usando uma instrução SELECT. O nome de uma função é escrito com os parâmetros.

>> selecione l_u_case ('linux', 'dica', true);

Na execução, uma maiúscula de ambas as cordas é concatenada; Isso ocorre porque mencionamos a mancha como um terceiro parâmetro.

Considerando que, se você remover o terceiro parâmetro, o valor resultante será nos alfabetos em minúsculos.

>> selecione l_u_case ('linux', 'dica');

Notação nomeada

Aqui, os valores não são atribuídos diretamente às variáveis ​​no parâmetro, mas essas variáveis ​​que usamos nas funções também são usadas na chamada de função. Ao fazer isso, todas as variáveis ​​receberão os valores. Um valor booleano 'u' também é atribuído com um valor verdadeiro.

>> selecione l_u_case (a => 'linux', b => 'dica', u => true);

Além disso, o operador que emitiu aqui não é um sinal igual. Se você usar um sinal igual simples ou qualquer outro sinal no local deste operador, um erro de sintaxe será formado.

Na execução do comando acima, você verá que a mesma string é exibida com as letras maiúsculas. Da mesma forma, ao remover a notação nomeada para a mancha, as cordas em minúsculas serão exibidas por padrão.

Além da posição e da notação nomeada, há uma terceira forma, uma notação 'mista' que contém a notação nomeada e a posição. Vamos considerar o mesmo exemplo para o descrito acima. Mencionaremos diretamente as strings no parâmetro na chamada de função, enquanto a variável booleana 'u' será atribuída o valor por meio de um parâmetro nomeado.

>> selecione l_u_case ('linux', 'dica', u => true);

Não há mudança no resultado.

Exemplo 2

Aqui está outro exemplo de uma tabela denominada amostra; Usamos uma declaração 'Criar' para criar uma função. Dois valores serão trocados usando esta função. Ambas as variáveis ​​são introduzidas na função. Os valores dentro dessas variáveis, enviados pelo parâmetro de função, serão trocados.

Selecione x, y em y, x;

Execute o comando e você verá que a função é criada. Agora vamos executar uma chamada de função simples usando uma notação posicional. Usaremos apenas os números aceitos pelas variáveis ​​declaradas na função.

>> selecione * da amostra (531, 902);

Na execução, você pode ver que os valores de ambas as variáveis ​​são trocados. Mas isso pode confundir, pois alguém pode não saber o valor de x e o valor de y no momento da chamada da função. Portanto, este problema é resolvido pelos parâmetros do nome. Cada valor é atribuído a uma variável como um parâmetro no momento de uma chamada de função.

>> selecione * do swapper (x => 198, y => 457);

Ao executar a chamada de função, ambos os valores são atribuídos. E na execução, cada valor é trocado.

Conclusão

'Postgres nomeado procedimento' descreve a função, seu uso com os parâmetros e também os tipos de parâmetros que o PostGresql permite que o usuário use. Existem duas anotações básicas de parâmetros. Ambos são explicados com exemplos para que o usuário possa distinguir facilmente entre essas duas notações.