Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá
galera, nunca criei uma função para banco de dados.
agora surgiu a necessidade de fazer uma.
CREATE FUNCTION public.alterameubanco() RETURNS text AS $$
DECLARE
tabela TEXT;
esquema TEXT; SELECT INTO esquema, tabela
schemaname, tablename
FROM pg_catalog.pg_tables
WHERE schemaname NOT IN ('pg_catalog', 'information_schema', 'pg_toast');
return tabela;
end;
$$ LANGUAGE 'plpgsql';
o que acontece é o seguinte..
porque eu uso isso
CREATE FUNCTION public.alterameubanco() RETURNS text AS $$
a segunda pergunta é como faço para percorrer o select
essa query que eu fiz traz todas as tabelas do meu banco com o schema que pertence
estou lendo alguns livros e artigos, mas não estou conseguindo progredir muito...
espero que alguem me ajude!!
abraço
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif E ae tudo bom..cara Criei uma função que percorre o select utilizando um RECORD.
A tabela teste utilizada:
CREATE TABLE clientes (
codigo SERIAL,
nome VARCHAR (50),
CPF CHAR (14),
CONSTRAINT PK_CODIGO_CLIENTES PRIMARY KEY(codigo) );
ADICIONEI ALGUNS REGISTROS:
E por fim A função:
CREATE FUNCTION percorreTabelaClientes()
RETURNS SETOF VARCHAR AS $nome$
DECLARE
registro RECORD;
BEGIN
END;$nome$
LANGUAGE 'plpgsql';
o SETOF é necessário ao retornar diversos registros.. (Poderia não retornar nada e em vez de SETOF VARCHAR colocado VOID)
a variavel registro armazena a consulta (select * from clientes()) e podemos acessar a coluna atraves do registro.coluna (EX: registro.nome)
POr fim..A consulta
----------------------------------
José Nicolau Se DEU MAL
Maria Malaquia
(2 registros)
Utilizando o tipo RECORD você consegue percorrer um select..Espero ter ajudado... http://forum.imasters.com.br/public/style_emoticons/default/clap.gif