1
resposta

Inputar valores de variáveis em tempo de execução

Pessoal, boa tarde!

Comparando o uso do Postgre com Oracle, no PLSQL existe um recurso que eu permito que o valor de uma variável seja atribuído em tempo de execução, no PLSQL o SGBD abre uma janela pedindo que os valores das variáveis sejam setados.

O postgre tem algum recurso parecido?

no oracle é como se o código ficasse assim:

DECLARE
variavel_1 VARCHAR(10);
variavel_2 INTEGER;

BEGIN
variavel_1 := &variavel_1;
variavel_2 := &variavel_2;

Assim que executo o codigo, a caixa aparece.

1 resposta

Oi, Douglas! Tudo certo?

Desde já, peço desculpas pela demora em te responder.

Infelizmente, o PostgreSQL não disponibiliza essa funcionalidade de forma direta e simples. Por esse motivo, recomendo declarar as variáveis normalmente utilizando a linguagem PL/pgSQL e o comando DECLARE ou solicitá-las por meio de parâmetros.

Caso queira realmente coletar informações em tempo de execução, sugiro integrar o banco de dados com alguma linguagem de programação, a qual permite esse exercício.

No entanto, Douglas, acho interessante dizer que o psql (utilitário do PostgreSQL que funciona via terminal) permite criarmos e utilizarmos variáveis informadas pelo próprio usuário. Para que isso seja possível, precisamos:

  • Escrever o código \prompt 'Digite algo' variavel
  • Referenciá-la digitando dois pontos e a escrevendo, assim: :variavel

Esse recurso possui algumas limitações, mas pode ser utilizado, por exemplo, para solicitar ao usuário uma informação a qual será usada para filtrar registros de uma tabela.

Douglas, espero que isso possa ajudar! Contudo, vale ressaltar que como é um assunto externo ao curso e que não tenho acesso ao seu cenário, outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!