Rubens José Rodrigues wrote: > Pessoal, > > Até achei na internet algo que explicasse como criar funções mas > sinceramente não consegui e não entendi, vou passar o cenário e depois a > necessidade : > > Cenário : > > PG :=> PostgreSQL 8.2.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) > 3.4.3 20041212 (Red Hat 3.4.3-9.EL4) > > > Cenário : > > TABELA A TABELA B > CODUSUARIO SEQ > NOMEUSUARIO CODUSUARIO REF TABELA A (CODUSUARIO) > DATA > DESCRICAOSERVICO > VALOR > > > Necessidade : > > Criar uma function passando como parâmetro de entrada o período (x,y) > fizesse um sum nos valores entre o período x e y e retornasse : > > Exemplo de retorno : > > CODUSUARIO | NOME | VALOR > 001 RUBENS 1.00 > 002 JOSE 1.10 > 003 RODRIGUES 1.20 > No seu caso é necessário criar um TYPE, assim por exemplo:
CREATE TYPE Meu_Tipo AS (codusuario character varying(3), nome character varying(200), valor numeric(20,2)); Depois crie a stored procedure que irá retornar da seguinte maneira: CREATE OR REPLACE FUNCTION sp_teste() RETURNS SETOF Meu_Tipo AS Atente para o RETURNS SETOF. Para retornar mais de um registro, basta utilizar o RETURN NEXT. Expliquei meio por cima, tenta fazer, se não conseguir ou tiver duvidas reporte na lista novamente que continuamos te ajudando. Evandro _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral