Como retornar uma REGEX específica utilizando como entrada uma consulta a uma função? [RESOLVIDO]

1. Como retornar uma REGEX específica utilizando como entrada uma consulta a uma função? [RESOLVIDO]

Mestre Kame
mlgrassi

(usa Debian)

Enviado em 03/07/2021 - 15:47h

Olá,

Tenho a seguinte situação no postgres versão 10.

select current_schemas(false);

Saída da query acima é: {public,meu_outro_esquema}

O que preciso fazer primeiramente é saber qual sintaxe utilizar para o regex_replace (por exemplo) para substituir o { e } por nada e pegar a vírgula como separador e utilizar o public como o argumento $1 e o meu_outro_esquema como argumento $2 (algo igual ao awk -F porém dentro do postgres).

Alguém me ajuda?


  


2. Como retornar uma ...

Afonso T Freitas
atf

(usa openSUSE)

Enviado em 08/09/2021 - 14:51h

Veja se isso serve, considerando que está dentro de uma PROCEDURE.


atf=#create or replace function sch(ix integer) returns varchar as
$$ declare rt varchar[];
begin
select into rt current_schemas(false);
--rt := translate(rt,'{}',' ');
return(rt[ix]);
end;
$$ language 'plpgsql';
CREATE FUNCTION

atf=# select sch(1);
sch
--------
schema_2
(1 row)





LinuxUser#142898






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts