Boa tarde pessoal,
Será que alguém pode me ajudar com a seguinte dúvida:
Fiz uma função que encripta uma cadeia de caracteres passados, assim:
CREATE OR REPLACE FUNCTION encrypt(phrase text) RETURNS SETOF text AS $$
DECLARE
phrase ALIAS FOR $1;
ret text;
i integer := 1;
j integer := length(phrase);
BEGIN
WHILE(i <= j) LOOP
ret := chr(ascii(substr(phrase, i, 1)) + i);
RETURN NEXT ret;
i := i + 1;
END LOOP;
RETURN;
END;
$$ LANGUAGE plpgsql;
Está funcionando bem, por exemplo:
SELECT * FROM encrypt('Teste'), me retorna:
encrypt
---------
U
g
v
x
j
(5 rows)
Minha dúvida é: como trabalho com um conjunto (SET OF), não consigo
usar a função como gostaria, que é algo como:
SELECT encrypt('Teste'), para que me retorne algo como:
encrypt
---------
Ugvxj
(1 row)
Para que eu possa usar em situações como essa:
INSERT INTO usuarios VALUES ('login', encrypt('senha'));
Estive lendo na documentação sobre tipos, mas mesmo criando um tipo
específico não consegui tal resultado.
Alguém pode me ajudar? Sinceramente não estou enxergando o que está faltando.
Obrigado a todos.
--
Fernando França
linux user #263682
gtalk: furansa
skype: fernando_desconstruindo
http://desconstruindo.eng.br
http://www.cbpf.br/~lsd
http://www.rnp.br/keyserver/pks/lookup?search=0xB5E21164
Por favor considere o meio ambiente antes de imprimir esta mensagem.
S'il vous plaît à l'environnement avant d'imprimer ce message.
Please consider the environment before printing this message.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral